github.com/shadialtarsha/go-pcre@v0.0.0-20220904164957-b4f1834ceecc/lib/pcre2_linux_amd64.go (about)

     1  // Code generated by 'ccgo -o pcre2.go -pkgname lib -trace-translation-units -export-externs X -export-defines D -export-fields F -export-structs S -export-typedefs T pcre.json .libs/libpcre2-8.a', DO NOT EDIT.
     2  
     3  package lib
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  )
    14  
    15  var _ = math.Pi
    16  var _ reflect.Kind
    17  var _ atomic.Value
    18  var _ unsafe.Pointer
    19  var _ *libc.TLS
    20  var _ types.Size_t
    21  
    22  const (
    23  	DAIO_PRIO_DELTA_MAX                              = 20                   // local_lim.h:78:1:
    24  	DBC_BASE_MAX                                     = 99                   // posix2_lim.h:63:1:
    25  	DBC_DIM_MAX                                      = 2048                 // posix2_lim.h:66:1:
    26  	DBC_SCALE_MAX                                    = 99                   // posix2_lim.h:69:1:
    27  	DBC_STRING_MAX                                   = 1000                 // posix2_lim.h:72:1:
    28  	DBIG_ENDIAN                                      = 4321                 // endian.h:28:1:
    29  	DBOOL_MAX                                        = 1                    // limits.h:186:1:
    30  	DBOOL_WIDTH                                      = 1                    // limits.h:189:1:
    31  	DBSR_DEFAULT                                     = 1                    // pcre2_internal.h:243:1:
    32  	DBUFSIZ                                          = 8192                 // stdio.h:99:1:
    33  	DBYTE_ORDER                                      = 1234                 // endian.h:30:1:
    34  	DCHARCLASS_NAME_MAX                              = 2048                 // posix2_lim.h:84:1:
    35  	DCHAR_0                                          = 48                   // pcre2_internal.h:999:1:
    36  	DCHAR_1                                          = 49                   // pcre2_internal.h:1000:1:
    37  	DCHAR_2                                          = 50                   // pcre2_internal.h:1001:1:
    38  	DCHAR_3                                          = 51                   // pcre2_internal.h:1002:1:
    39  	DCHAR_4                                          = 52                   // pcre2_internal.h:1003:1:
    40  	DCHAR_5                                          = 53                   // pcre2_internal.h:1004:1:
    41  	DCHAR_6                                          = 54                   // pcre2_internal.h:1005:1:
    42  	DCHAR_7                                          = 55                   // pcre2_internal.h:1006:1:
    43  	DCHAR_8                                          = 56                   // pcre2_internal.h:1007:1:
    44  	DCHAR_9                                          = 57                   // pcre2_internal.h:1008:1:
    45  	DCHAR_A                                          = 65                   // pcre2_internal.h:1016:1:
    46  	DCHAR_AMPERSAND                                  = 38                   // pcre2_internal.h:989:1:
    47  	DCHAR_APOSTROPHE                                 = 39                   // pcre2_internal.h:990:1:
    48  	DCHAR_ASTERISK                                   = 42                   // pcre2_internal.h:993:1:
    49  	DCHAR_B                                          = 66                   // pcre2_internal.h:1017:1:
    50  	DCHAR_BACKSLASH                                  = 92                   // pcre2_internal.h:1043:1:
    51  	DCHAR_BEL                                        = 7                    // pcre2_internal.h:978:1:
    52  	DCHAR_BIT                                        = 8                    // limits.h:64:1:
    53  	DCHAR_BS                                         = 8                    // pcre2_internal.h:977:1:
    54  	DCHAR_C                                          = 67                   // pcre2_internal.h:1018:1:
    55  	DCHAR_CIRCUMFLEX_ACCENT                          = 94                   // pcre2_internal.h:1045:1:
    56  	DCHAR_COLON                                      = 58                   // pcre2_internal.h:1009:1:
    57  	DCHAR_COMMA                                      = 44                   // pcre2_internal.h:995:1:
    58  	DCHAR_COMMERCIAL_AT                              = 64                   // pcre2_internal.h:1015:1:
    59  	DCHAR_CR                                         = 13                   // pcre2_internal.h:973:1:
    60  	DCHAR_D                                          = 68                   // pcre2_internal.h:1019:1:
    61  	DCHAR_DEL                                        = 127                  // pcre2_internal.h:980:1:
    62  	DCHAR_DOLLAR_SIGN                                = 36                   // pcre2_internal.h:987:1:
    63  	DCHAR_DOT                                        = 46                   // pcre2_internal.h:997:1:
    64  	DCHAR_E                                          = 69                   // pcre2_internal.h:1020:1:
    65  	DCHAR_EQUALS_SIGN                                = 61                   // pcre2_internal.h:1012:1:
    66  	DCHAR_ESC                                        = 27                   // pcre2_internal.h:979:1:
    67  	DCHAR_EXCLAMATION_MARK                           = 33                   // pcre2_internal.h:984:1:
    68  	DCHAR_F                                          = 70                   // pcre2_internal.h:1021:1:
    69  	DCHAR_FF                                         = 12                   // pcre2_internal.h:972:1:
    70  	DCHAR_G                                          = 71                   // pcre2_internal.h:1022:1:
    71  	DCHAR_GRAVE_ACCENT                               = 96                   // pcre2_internal.h:1047:1:
    72  	DCHAR_GREATER_THAN_SIGN                          = 62                   // pcre2_internal.h:1013:1:
    73  	DCHAR_H                                          = 72                   // pcre2_internal.h:1023:1:
    74  	DCHAR_HT                                         = 9                    // pcre2_internal.h:970:1:
    75  	DCHAR_I                                          = 73                   // pcre2_internal.h:1024:1:
    76  	DCHAR_J                                          = 74                   // pcre2_internal.h:1025:1:
    77  	DCHAR_K                                          = 75                   // pcre2_internal.h:1026:1:
    78  	DCHAR_L                                          = 76                   // pcre2_internal.h:1027:1:
    79  	DCHAR_LEFT_CURLY_BRACKET                         = 123                  // pcre2_internal.h:1074:1:
    80  	DCHAR_LEFT_PARENTHESIS                           = 40                   // pcre2_internal.h:991:1:
    81  	DCHAR_LEFT_SQUARE_BRACKET                        = 91                   // pcre2_internal.h:1042:1:
    82  	DCHAR_LESS_THAN_SIGN                             = 60                   // pcre2_internal.h:1011:1:
    83  	DCHAR_LF                                         = 10                   // pcre2_internal.h:974:1:
    84  	DCHAR_M                                          = 77                   // pcre2_internal.h:1028:1:
    85  	DCHAR_MAX                                        = 127                  // limits.h:99:1:
    86  	DCHAR_MIN                                        = -128                 // limits.h:97:1:
    87  	DCHAR_MINUS                                      = 45                   // pcre2_internal.h:996:1:
    88  	DCHAR_N                                          = 78                   // pcre2_internal.h:1029:1:
    89  	DCHAR_NL                                         = 10                   // pcre2_internal.h:975:1:
    90  	DCHAR_NUL                                        = 0                    // pcre2_internal.h:982:1:
    91  	DCHAR_NUMBER_SIGN                                = 35                   // pcre2_internal.h:986:1:
    92  	DCHAR_O                                          = 79                   // pcre2_internal.h:1030:1:
    93  	DCHAR_P                                          = 80                   // pcre2_internal.h:1031:1:
    94  	DCHAR_PERCENT_SIGN                               = 37                   // pcre2_internal.h:988:1:
    95  	DCHAR_PLUS                                       = 43                   // pcre2_internal.h:994:1:
    96  	DCHAR_Q                                          = 81                   // pcre2_internal.h:1032:1:
    97  	DCHAR_QUESTION_MARK                              = 63                   // pcre2_internal.h:1014:1:
    98  	DCHAR_QUOTATION_MARK                             = 34                   // pcre2_internal.h:985:1:
    99  	DCHAR_R                                          = 82                   // pcre2_internal.h:1033:1:
   100  	DCHAR_RIGHT_CURLY_BRACKET                        = 125                  // pcre2_internal.h:1076:1:
   101  	DCHAR_RIGHT_PARENTHESIS                          = 41                   // pcre2_internal.h:992:1:
   102  	DCHAR_RIGHT_SQUARE_BRACKET                       = 93                   // pcre2_internal.h:1044:1:
   103  	DCHAR_S                                          = 83                   // pcre2_internal.h:1034:1:
   104  	DCHAR_SEMICOLON                                  = 59                   // pcre2_internal.h:1010:1:
   105  	DCHAR_SLASH                                      = 47                   // pcre2_internal.h:998:1:
   106  	DCHAR_SPACE                                      = 32                   // pcre2_internal.h:983:1:
   107  	DCHAR_T                                          = 84                   // pcre2_internal.h:1035:1:
   108  	DCHAR_TILDE                                      = 126                  // pcre2_internal.h:1077:1:
   109  	DCHAR_U                                          = 85                   // pcre2_internal.h:1036:1:
   110  	DCHAR_UNDERSCORE                                 = 95                   // pcre2_internal.h:1046:1:
   111  	DCHAR_V                                          = 86                   // pcre2_internal.h:1037:1:
   112  	DCHAR_VERTICAL_LINE                              = 124                  // pcre2_internal.h:1075:1:
   113  	DCHAR_VT                                         = 11                   // pcre2_internal.h:971:1:
   114  	DCHAR_W                                          = 87                   // pcre2_internal.h:1038:1:
   115  	DCHAR_WIDTH                                      = 8                    // limits.h:165:1:
   116  	DCHAR_X                                          = 88                   // pcre2_internal.h:1039:1:
   117  	DCHAR_Y                                          = 89                   // pcre2_internal.h:1040:1:
   118  	DCHAR_Z                                          = 90                   // pcre2_internal.h:1041:1:
   119  	DCHAR_a                                          = 97                   // pcre2_internal.h:1048:1:
   120  	DCHAR_b                                          = 98                   // pcre2_internal.h:1049:1:
   121  	DCHAR_c                                          = 99                   // pcre2_internal.h:1050:1:
   122  	DCHAR_d                                          = 100                  // pcre2_internal.h:1051:1:
   123  	DCHAR_e                                          = 101                  // pcre2_internal.h:1052:1:
   124  	DCHAR_f                                          = 102                  // pcre2_internal.h:1053:1:
   125  	DCHAR_g                                          = 103                  // pcre2_internal.h:1054:1:
   126  	DCHAR_h                                          = 104                  // pcre2_internal.h:1055:1:
   127  	DCHAR_i                                          = 105                  // pcre2_internal.h:1056:1:
   128  	DCHAR_j                                          = 106                  // pcre2_internal.h:1057:1:
   129  	DCHAR_k                                          = 107                  // pcre2_internal.h:1058:1:
   130  	DCHAR_l                                          = 108                  // pcre2_internal.h:1059:1:
   131  	DCHAR_m                                          = 109                  // pcre2_internal.h:1060:1:
   132  	DCHAR_n                                          = 110                  // pcre2_internal.h:1061:1:
   133  	DCHAR_o                                          = 111                  // pcre2_internal.h:1062:1:
   134  	DCHAR_p                                          = 112                  // pcre2_internal.h:1063:1:
   135  	DCHAR_q                                          = 113                  // pcre2_internal.h:1064:1:
   136  	DCHAR_r                                          = 114                  // pcre2_internal.h:1065:1:
   137  	DCHAR_s                                          = 115                  // pcre2_internal.h:1066:1:
   138  	DCHAR_t                                          = 116                  // pcre2_internal.h:1067:1:
   139  	DCHAR_u                                          = 117                  // pcre2_internal.h:1068:1:
   140  	DCHAR_v                                          = 118                  // pcre2_internal.h:1069:1:
   141  	DCHAR_w                                          = 119                  // pcre2_internal.h:1070:1:
   142  	DCHAR_x                                          = 120                  // pcre2_internal.h:1071:1:
   143  	DCHAR_y                                          = 121                  // pcre2_internal.h:1072:1:
   144  	DCHAR_z                                          = 122                  // pcre2_internal.h:1073:1:
   145  	DCOLL_WEIGHTS_MAX                                = 255                  // posix2_lim.h:75:1:
   146  	DCOMPILE_ERROR_BASE                              = 100                  // pcre2_internal.h:221:1:
   147  	DDELAYTIMER_MAX                                  = 2147483647           // local_lim.h:84:1:
   148  	DDFA_START_RWS_SIZE                              = 30720                // pcre2_internal.h:236:1:
   149  	DEOF                                             = -1                   // stdio.h:104:1:
   150  	DEXIT_FAILURE                                    = 1                    // stdlib.h:92:1:
   151  	DEXIT_SUCCESS                                    = 0                    // stdlib.h:93:1:
   152  	DEXPR_NEST_MAX                                   = 32                   // posix2_lim.h:78:1:
   153  	DFALSE                                           = 0                    // pcre2_internal.h:69:1:
   154  	DFD_SETSIZE                                      = 1024                 // select.h:73:1:
   155  	DFILENAME_MAX                                    = 4096                 // stdio_lim.h:27:1:
   156  	DFOPEN_MAX                                       = 16                   // stdio_lim.h:37:1:
   157  	DHAVE_BCOPY                                      = 1                    // config.h:60:1:
   158  	DHAVE_BZLIB_H                                    = 1                    // config.h:63:1:
   159  	DHAVE_CONFIG_H                                   = 1                    // <defines>:1:1:
   160  	DHAVE_DIRENT_H                                   = 1                    // config.h:66:1:
   161  	DHAVE_DLFCN_H                                    = 1                    // config.h:69:1:
   162  	DHAVE_INTTYPES_H                                 = 1                    // config.h:78:1:
   163  	DHAVE_LIMITS_H                                   = 1                    // config.h:81:1:
   164  	DHAVE_MEMFD_CREATE                               = 1                    // config.h:84:1:
   165  	DHAVE_MEMMOVE                                    = 1                    // config.h:87:1:
   166  	DHAVE_MKOSTEMP                                   = 1                    // config.h:93:1:
   167  	DHAVE_REALPATH                                   = 1                    // config.h:111:1:
   168  	DHAVE_SECURE_GETENV                              = 1                    // config.h:114:1:
   169  	DHAVE_STDINT_H                                   = 1                    // config.h:117:1:
   170  	DHAVE_STDIO_H                                    = 1                    // config.h:120:1:
   171  	DHAVE_STDLIB_H                                   = 1                    // config.h:123:1:
   172  	DHAVE_STRERROR                                   = 1                    // config.h:126:1:
   173  	DHAVE_STRINGS_H                                  = 1                    // config.h:129:1:
   174  	DHAVE_STRING_H                                   = 1                    // config.h:132:1:
   175  	DHAVE_SYS_STAT_H                                 = 1                    // config.h:135:1:
   176  	DHAVE_SYS_TYPES_H                                = 1                    // config.h:138:1:
   177  	DHAVE_SYS_WAIT_H                                 = 1                    // config.h:141:1:
   178  	DHAVE_UNISTD_H                                   = 1                    // config.h:144:1:
   179  	DHAVE_VISIBILITY                                 = 1                    // config.h:147:1:
   180  	DHAVE_WCHAR_H                                    = 1                    // config.h:150:1:
   181  	DHAVE_ZLIB_H                                     = 1                    // config.h:156:1:
   182  	DHEAP_LIMIT                                      = 20000000             // config.h:161:1:
   183  	DHOST_NAME_MAX                                   = 64                   // local_lim.h:93:1:
   184  	DIMM2_SIZE                                       = 2                    // pcre2_intmodedep.h:193:1:
   185  	DINT16_MAX                                       = 32767                // stdint.h:122:1:
   186  	DINT16_MIN                                       = -32768               // stdint.h:117:1:
   187  	DINT16_WIDTH                                     = 16                   // stdint.h:280:1:
   188  	DINT32_MAX                                       = 2147483647           // stdint.h:123:1:
   189  	DINT32_MIN                                       = -2147483648          // stdint.h:118:1:
   190  	DINT32_WIDTH                                     = 32                   // stdint.h:282:1:
   191  	DINT64_MAX                                       = 9223372036854775807  // stdint.h:124:1:
   192  	DINT64_MIN                                       = -9223372036854775808 // stdint.h:119:1:
   193  	DINT64_WIDTH                                     = 64                   // stdint.h:284:1:
   194  	DINT8_MAX                                        = 127                  // stdint.h:121:1:
   195  	DINT8_MIN                                        = -128                 // stdint.h:116:1:
   196  	DINT8_WIDTH                                      = 8                    // stdint.h:278:1:
   197  	DINTMAX_MAX                                      = 9223372036854775807  // stdint.h:199:1:
   198  	DINTMAX_MIN                                      = -9223372036854775808 // stdint.h:197:1:
   199  	DINTMAX_WIDTH                                    = 64                   // stdint.h:308:1:
   200  	DINTPTR_MAX                                      = 9223372036854775807  // stdint.h:187:1:
   201  	DINTPTR_MIN                                      = -9223372036854775808 // stdint.h:186:1:
   202  	DINTPTR_WIDTH                                    = 64                   // stdint.h:305:1:
   203  	DINT_FAST16_MAX                                  = 9223372036854775807  // stdint.h:164:1:
   204  	DINT_FAST16_MIN                                  = -9223372036854775808 // stdint.h:154:1:
   205  	DINT_FAST16_WIDTH                                = 64                   // stdint.h:298:1:
   206  	DINT_FAST32_MAX                                  = 9223372036854775807  // stdint.h:165:1:
   207  	DINT_FAST32_MIN                                  = -9223372036854775808 // stdint.h:155:1:
   208  	DINT_FAST32_WIDTH                                = 64                   // stdint.h:300:1:
   209  	DINT_FAST64_MAX                                  = 9223372036854775807  // stdint.h:170:1:
   210  	DINT_FAST64_MIN                                  = -9223372036854775808 // stdint.h:160:1:
   211  	DINT_FAST64_WIDTH                                = 64                   // stdint.h:302:1:
   212  	DINT_FAST8_MAX                                   = 127                  // stdint.h:162:1:
   213  	DINT_FAST8_MIN                                   = -128                 // stdint.h:152:1:
   214  	DINT_FAST8_WIDTH                                 = 8                    // stdint.h:296:1:
   215  	DINT_LEAST16_MAX                                 = 32767                // stdint.h:140:1:
   216  	DINT_LEAST16_MIN                                 = -32768               // stdint.h:135:1:
   217  	DINT_LEAST16_WIDTH                               = 16                   // stdint.h:289:1:
   218  	DINT_LEAST32_MAX                                 = 2147483647           // stdint.h:141:1:
   219  	DINT_LEAST32_MIN                                 = -2147483648          // stdint.h:136:1:
   220  	DINT_LEAST32_WIDTH                               = 32                   // stdint.h:291:1:
   221  	DINT_LEAST64_MAX                                 = 9223372036854775807  // stdint.h:142:1:
   222  	DINT_LEAST64_MIN                                 = -9223372036854775808 // stdint.h:137:1:
   223  	DINT_LEAST64_WIDTH                               = 64                   // stdint.h:293:1:
   224  	DINT_LEAST8_MAX                                  = 127                  // stdint.h:139:1:
   225  	DINT_LEAST8_MIN                                  = -128                 // stdint.h:134:1:
   226  	DINT_LEAST8_WIDTH                                = 8                    // stdint.h:287:1:
   227  	DINT_MAX                                         = 2147483647           // limits.h:120:1:
   228  	DINT_MIN                                         = -2147483648          // limits.h:118:1:
   229  	DINT_WIDTH                                       = 32                   // limits.h:175:1:
   230  	DIOV_MAX                                         = 1024                 // xopen_lim.h:66:1:
   231  	DLINE_MAX                                        = 2048                 // posix2_lim.h:81:1:
   232  	DLINK_SIZE                                       = 2                    // config.h:168:1:
   233  	DLITTLE_ENDIAN                                   = 1234                 // endian.h:27:1:
   234  	DLLONG_MAX                                       = 9223372036854775807  // limits.h:142:1:
   235  	DLLONG_MIN                                       = -9223372036854775808 // limits.h:140:1:
   236  	DLLONG_WIDTH                                     = 64                   // limits.h:183:1:
   237  	DLOGIN_NAME_MAX                                  = 256                  // local_lim.h:90:1:
   238  	DLONG_BIT                                        = 64                   // xopen_lim.h:137:1:
   239  	DLONG_LONG_MAX                                   = 9223372036854775807  // limits.h:154:1:
   240  	DLONG_LONG_MIN                                   = -9223372036854775808 // limits.h:152:1:
   241  	DLONG_MAX                                        = 9223372036854775807  // limits.h:131:1:
   242  	DLONG_MIN                                        = -9223372036854775808 // limits.h:129:1:
   243  	DLONG_WIDTH                                      = 64                   // limits.h:179:1:
   244  	DLOOKBEHIND_MAX                                  = 65535                // pcre2_intmodedep.h:616:1:
   245  	DLT_OBJDIR                                       = ".libs/"             // config.h:171:1:
   246  	DL_ctermid                                       = 9                    // stdio_lim.h:30:1:
   247  	DL_cuserid                                       = 9                    // stdio_lim.h:32:1:
   248  	DL_tmpnam                                        = 20                   // stdio_lim.h:25:1:
   249  	DMAGIC_NUMBER                                    = 0x50435245           // pcre2_internal.h:547:1:
   250  	DMATCH_LIMIT                                     = 10000000             // config.h:180:1:
   251  	DMATCH_LIMIT_DEPTH                               = 10000000             // config.h:192:1:
   252  	DMAX_CANON                                       = 255                  // limits.h:10:1:
   253  	DMAX_INPUT                                       = 255                  // limits.h:11:1:
   254  	DMAX_MARK                                        = 255                  // pcre2_intmodedep.h:213:1:
   255  	DMAX_NAME_COUNT                                  = 10000                // config.h:197:1:
   256  	DMAX_NAME_SIZE                                   = 32                   // config.h:202:1:
   257  	DMAX_NON_UTF_CHAR                                = 255                  // pcre2_internal.h:1894:1:
   258  	DMAX_PATTERN_SIZE                                = 65536                // pcre2_intmodedep.h:110:1:
   259  	DMAX_UTF_CODE_POINT                              = 0x10ffff             // pcre2_internal.h:209:1:
   260  	DMAX_UTF_SINGLE_CU                               = 127                  // pcre2_intmodedep.h:282:1:
   261  	DMAYBE_UTF_MULTI                                 = 0                    // pcre2_intmodedep.h:278:1:
   262  	DMB_LEN_MAX                                      = 16                   // limits.h:32:1:
   263  	DMQ_PRIO_MAX                                     = 32768                // local_lim.h:96:1:
   264  	DNAME_MAX                                        = 255                  // limits.h:12:1:
   265  	DNEWLINE_DEFAULT                                 = 2                    // config.h:211:1:
   266  	DNGROUPS_MAX                                     = 65536                // limits.h:7:1:
   267  	DNLTYPE_ANY                                      = 1                    // pcre2_internal.h:474:1:
   268  	DNLTYPE_ANYCRLF                                  = 2                    // pcre2_internal.h:475:1:
   269  	DNLTYPE_FIXED                                    = 0                    // pcre2_internal.h:473:1:
   270  	DNL_ARGMAX                                       = 4096                 // xopen_lim.h:73:1:
   271  	DNL_LANGMAX                                      = 2048                 // xopen_lim.h:76:1:
   272  	DNL_MSGMAX                                       = 2147483647           // xopen_lim.h:79:1:
   273  	DNL_NMAX                                         = 2147483647           // xopen_lim.h:84:1:
   274  	DNL_SETMAX                                       = 2147483647           // xopen_lim.h:88:1:
   275  	DNL_TEXTMAX                                      = 2147483647           // xopen_lim.h:91:1:
   276  	DNOTACHAR                                        = 0xffffffff           // pcre2_internal.h:205:1:
   277  	DNZERO                                           = 20                   // xopen_lim.h:94:1:
   278  	DPACKAGE                                         = "pcre2"              // config.h:214:1:
   279  	DPACKAGE_BUGREPORT                               = ""                   // config.h:217:1:
   280  	DPACKAGE_NAME                                    = "PCRE2"              // config.h:220:1:
   281  	DPACKAGE_STRING                                  = "PCRE2 10.40"        // config.h:223:1:
   282  	DPACKAGE_TARNAME                                 = "pcre2"              // config.h:226:1:
   283  	DPACKAGE_URL                                     = ""                   // config.h:229:1:
   284  	DPACKAGE_VERSION                                 = "10.40"              // config.h:232:1:
   285  	DPARENS_NEST_LIMIT                               = 250                  // config.h:237:1:
   286  	DPATH_MAX                                        = 4096                 // limits.h:13:1:
   287  	DPCRE2GREP_BUFSIZE                               = 20480                // config.h:245:1:
   288  	DPCRE2GREP_MAX_BUFSIZE                           = 1048576              // config.h:251:1:
   289  	DPCRE2_ALLOW_EMPTY_CLASS                         = 0x00000001           // pcre2.h:119:1:
   290  	DPCRE2_ALT_BSUX                                  = 0x00000002           // pcre2.h:120:1:
   291  	DPCRE2_ALT_CIRCUMFLEX                            = 0x00200000           // pcre2.h:140:1:
   292  	DPCRE2_ALT_VERBNAMES                             = 0x00400000           // pcre2.h:141:1:
   293  	DPCRE2_ANCHORED                                  = 0x80000000           // pcre2.h:105:1:
   294  	DPCRE2_AUTO_CALLOUT                              = 0x00000004           // pcre2.h:121:1:
   295  	DPCRE2_BSR_ANYCRLF                               = 2                    // pcre2.h:211:1:
   296  	DPCRE2_BSR_SET                                   = 0x00004000           // pcre2_internal.h:522:1:
   297  	DPCRE2_BSR_UNICODE                               = 1                    // pcre2.h:210:1:
   298  	DPCRE2_CALLOUT_BACKTRACK                         = 0x00000002           // pcre2.h:513:1:
   299  	DPCRE2_CALLOUT_STARTMATCH                        = 0x00000001           // pcre2.h:512:1:
   300  	DPCRE2_CALL_CONVENTION                           = 0                    // pcre2.h:81:1:
   301  	DPCRE2_CASELESS                                  = 0x00000008           // pcre2.h:122:1:
   302  	DPCRE2_CODE_UNIT_WIDTH                           = 8                    // <defines>:2:1:
   303  	DPCRE2_CONFIG_BSR                                = 0                    // pcre2.h:437:1:
   304  	DPCRE2_CONFIG_COMPILED_WIDTHS                    = 14                   // pcre2.h:452:1:
   305  	DPCRE2_CONFIG_DEPTHLIMIT                         = 7                    // pcre2.h:444:1:
   306  	DPCRE2_CONFIG_HEAPLIMIT                          = 12                   // pcre2.h:450:1:
   307  	DPCRE2_CONFIG_JIT                                = 1                    // pcre2.h:438:1:
   308  	DPCRE2_CONFIG_JITTARGET                          = 2                    // pcre2.h:439:1:
   309  	DPCRE2_CONFIG_LINKSIZE                           = 3                    // pcre2.h:440:1:
   310  	DPCRE2_CONFIG_MATCHLIMIT                         = 4                    // pcre2.h:441:1:
   311  	DPCRE2_CONFIG_NEVER_BACKSLASH_C                  = 13                   // pcre2.h:451:1:
   312  	DPCRE2_CONFIG_NEWLINE                            = 5                    // pcre2.h:442:1:
   313  	DPCRE2_CONFIG_PARENSLIMIT                        = 6                    // pcre2.h:443:1:
   314  	DPCRE2_CONFIG_RECURSIONLIMIT                     = 7                    // pcre2.h:445:1:
   315  	DPCRE2_CONFIG_STACKRECURSE                       = 8                    // pcre2.h:446:1:
   316  	DPCRE2_CONFIG_TABLES_LENGTH                      = 15                   // pcre2.h:453:1:
   317  	DPCRE2_CONFIG_UNICODE                            = 9                    // pcre2.h:447:1:
   318  	DPCRE2_CONFIG_UNICODE_VERSION                    = 10                   // pcre2.h:448:1:
   319  	DPCRE2_CONFIG_VERSION                            = 11                   // pcre2.h:449:1:
   320  	DPCRE2_CONVERT_GLOB                              = 0x00000010           // pcre2.h:195:1:
   321  	DPCRE2_CONVERT_GLOB_NO_STARSTAR                  = 0x00000050           // pcre2.h:197:1:
   322  	DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR            = 0x00000030           // pcre2.h:196:1:
   323  	DPCRE2_CONVERT_NO_UTF_CHECK                      = 0x00000002           // pcre2.h:192:1:
   324  	DPCRE2_CONVERT_POSIX_BASIC                       = 0x00000004           // pcre2.h:193:1:
   325  	DPCRE2_CONVERT_POSIX_EXTENDED                    = 0x00000008           // pcre2.h:194:1:
   326  	DPCRE2_CONVERT_UTF                               = 0x00000001           // pcre2.h:191:1:
   327  	DPCRE2_COPY_MATCHED_SUBJECT                      = 0x00004000           // pcre2.h:184:1:
   328  	DPCRE2_DATE                                      = 2004                 // pcre2.h:47:1:
   329  	DPCRE2_DEREF_TABLES                              = 0x00040000           // pcre2_internal.h:526:1:
   330  	DPCRE2_DFA_RESTART                               = 0x00000040           // pcre2.h:176:1:
   331  	DPCRE2_DFA_SHORTEST                              = 0x00000080           // pcre2.h:177:1:
   332  	DPCRE2_DOLLAR_ENDONLY                            = 0x00000010           // pcre2.h:123:1:
   333  	DPCRE2_DOTALL                                    = 0x00000020           // pcre2.h:124:1:
   334  	DPCRE2_DUPCAPUSED                                = 0x00200000           // pcre2_internal.h:529:1:
   335  	DPCRE2_DUPNAMES                                  = 0x00000040           // pcre2.h:125:1:
   336  	DPCRE2_ENDANCHORED                               = 0x20000000           // pcre2.h:107:1:
   337  	DPCRE2_ERROR_ALPHA_ASSERTION_UNKNOWN             = 195                  // pcre2.h:311:1:
   338  	DPCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED         = 183                  // pcre2.h:299:1:
   339  	DPCRE2_ERROR_BACKSLASH_C_LIBRARY_DISABLED        = 185                  // pcre2.h:301:1:
   340  	DPCRE2_ERROR_BACKSLASH_C_SYNTAX                  = 168                  // pcre2.h:284:1:
   341  	DPCRE2_ERROR_BACKSLASH_G_SYNTAX                  = 157                  // pcre2.h:272:1:
   342  	DPCRE2_ERROR_BACKSLASH_K_IN_LOOKAROUND           = 199                  // pcre2.h:315:1:
   343  	DPCRE2_ERROR_BACKSLASH_K_SYNTAX                  = 169                  // pcre2.h:285:1:
   344  	DPCRE2_ERROR_BACKSLASH_N_IN_CLASS                = 171                  // pcre2.h:287:1:
   345  	DPCRE2_ERROR_BACKSLASH_O_MISSING_BRACE           = 155                  // pcre2.h:270:1:
   346  	DPCRE2_ERROR_BACKSLASH_U_CODE_POINT_TOO_BIG      = 177                  // pcre2.h:293:1:
   347  	DPCRE2_ERROR_BADDATA                             = -29                  // pcre2.h:363:1:
   348  	DPCRE2_ERROR_BADMAGIC                            = -31                  // pcre2.h:365:1:
   349  	DPCRE2_ERROR_BADMODE                             = -32                  // pcre2.h:366:1:
   350  	DPCRE2_ERROR_BADOFFSET                           = -33                  // pcre2.h:367:1:
   351  	DPCRE2_ERROR_BADOFFSETLIMIT                      = -56                  // pcre2.h:391:1:
   352  	DPCRE2_ERROR_BADOPTION                           = -34                  // pcre2.h:368:1:
   353  	DPCRE2_ERROR_BADREPESCAPE                        = -57                  // pcre2.h:392:1:
   354  	DPCRE2_ERROR_BADREPLACEMENT                      = -35                  // pcre2.h:369:1:
   355  	DPCRE2_ERROR_BADSERIALIZEDDATA                   = -62                  // pcre2.h:397:1:
   356  	DPCRE2_ERROR_BADSUBSPATTERN                      = -60                  // pcre2.h:395:1:
   357  	DPCRE2_ERROR_BADSUBSTITUTION                     = -59                  // pcre2.h:394:1:
   358  	DPCRE2_ERROR_BADUTFOFFSET                        = -36                  // pcre2.h:370:1:
   359  	DPCRE2_ERROR_BAD_LITERAL_OPTIONS                 = 192                  // pcre2.h:308:1:
   360  	DPCRE2_ERROR_BAD_OPTIONS                         = 117                  // pcre2.h:232:1:
   361  	DPCRE2_ERROR_BAD_RELATIVE_REFERENCE              = 129                  // pcre2.h:244:1:
   362  	DPCRE2_ERROR_BAD_SUBPATTERN_REFERENCE            = 115                  // pcre2.h:230:1:
   363  	DPCRE2_ERROR_CALLOUT                             = -37                  // pcre2.h:371:1:
   364  	DPCRE2_ERROR_CALLOUT_BAD_STRING_DELIMITER        = 182                  // pcre2.h:298:1:
   365  	DPCRE2_ERROR_CALLOUT_NO_STRING_DELIMITER         = 181                  // pcre2.h:297:1:
   366  	DPCRE2_ERROR_CALLOUT_NUMBER_TOO_BIG              = 138                  // pcre2.h:253:1:
   367  	DPCRE2_ERROR_CALLOUT_STRING_TOO_LONG             = 172                  // pcre2.h:288:1:
   368  	DPCRE2_ERROR_CLASS_INVALID_RANGE                 = 150                  // pcre2.h:265:1:
   369  	DPCRE2_ERROR_CLASS_RANGE_ORDER                   = 108                  // pcre2.h:223:1:
   370  	DPCRE2_ERROR_CODE_POINT_TOO_BIG                  = 134                  // pcre2.h:249:1:
   371  	DPCRE2_ERROR_CONDITION_ASSERTION_EXPECTED        = 128                  // pcre2.h:243:1:
   372  	DPCRE2_ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED = 198                  // pcre2.h:314:1:
   373  	DPCRE2_ERROR_CONVERT_SYNTAX                      = -64                  // pcre2.h:399:1:
   374  	DPCRE2_ERROR_DEFINE_TOO_MANY_BRANCHES            = 154                  // pcre2.h:269:1:
   375  	DPCRE2_ERROR_DEPTHLIMIT                          = -53                  // pcre2.h:387:1:
   376  	DPCRE2_ERROR_DFA_BADRESTART                      = -38                  // pcre2.h:372:1:
   377  	DPCRE2_ERROR_DFA_RECURSE                         = -39                  // pcre2.h:373:1:
   378  	DPCRE2_ERROR_DFA_UCOND                           = -40                  // pcre2.h:374:1:
   379  	DPCRE2_ERROR_DFA_UFUNC                           = -41                  // pcre2.h:375:1:
   380  	DPCRE2_ERROR_DFA_UINVALID_UTF                    = -66                  // pcre2.h:401:1:
   381  	DPCRE2_ERROR_DFA_UITEM                           = -42                  // pcre2.h:376:1:
   382  	DPCRE2_ERROR_DFA_WSSIZE                          = -43                  // pcre2.h:377:1:
   383  	DPCRE2_ERROR_DUPLICATE_SUBPATTERN_NAME           = 143                  // pcre2.h:258:1:
   384  	DPCRE2_ERROR_END_BACKSLASH                       = 101                  // pcre2.h:216:1:
   385  	DPCRE2_ERROR_END_BACKSLASH_C                     = 102                  // pcre2.h:217:1:
   386  	DPCRE2_ERROR_ESCAPE_INVALID_IN_CLASS             = 107                  // pcre2.h:222:1:
   387  	DPCRE2_ERROR_ESCAPE_INVALID_IN_VERB              = 140                  // pcre2.h:255:1:
   388  	DPCRE2_ERROR_HEAPLIMIT                           = -63                  // pcre2.h:398:1:
   389  	DPCRE2_ERROR_HEAP_FAILED                         = 121                  // pcre2.h:236:1:
   390  	DPCRE2_ERROR_INTERNAL                            = -44                  // pcre2.h:378:1:
   391  	DPCRE2_ERROR_INTERNAL_BAD_CODE                   = 189                  // pcre2.h:305:1:
   392  	DPCRE2_ERROR_INTERNAL_BAD_CODE_AUTO_POSSESS      = 180                  // pcre2.h:296:1:
   393  	DPCRE2_ERROR_INTERNAL_BAD_CODE_IN_SKIP           = 190                  // pcre2.h:306:1:
   394  	DPCRE2_ERROR_INTERNAL_BAD_CODE_LOOKBEHINDS       = 170                  // pcre2.h:286:1:
   395  	DPCRE2_ERROR_INTERNAL_CODE_OVERFLOW              = 123                  // pcre2.h:238:1:
   396  	DPCRE2_ERROR_INTERNAL_DUPMATCH                   = -65                  // pcre2.h:400:1:
   397  	DPCRE2_ERROR_INTERNAL_MISSING_SUBPATTERN         = 153                  // pcre2.h:268:1:
   398  	DPCRE2_ERROR_INTERNAL_OVERRAN_WORKSPACE          = 152                  // pcre2.h:267:1:
   399  	DPCRE2_ERROR_INTERNAL_PARSED_OVERFLOW            = 163                  // pcre2.h:279:1:
   400  	DPCRE2_ERROR_INTERNAL_STUDY_ERROR                = 131                  // pcre2.h:246:1:
   401  	DPCRE2_ERROR_INTERNAL_UNEXPECTED_REPEAT          = 110                  // pcre2.h:225:1:
   402  	DPCRE2_ERROR_INTERNAL_UNKNOWN_NEWLINE            = 156                  // pcre2.h:271:1:
   403  	DPCRE2_ERROR_INVALID_AFTER_PARENS_QUERY          = 111                  // pcre2.h:226:1:
   404  	DPCRE2_ERROR_INVALID_HEXADECIMAL                 = 167                  // pcre2.h:283:1:
   405  	DPCRE2_ERROR_INVALID_HYPHEN_IN_OPTIONS           = 194                  // pcre2.h:310:1:
   406  	DPCRE2_ERROR_INVALID_OCTAL                       = 164                  // pcre2.h:280:1:
   407  	DPCRE2_ERROR_INVALID_SUBPATTERN_NAME             = 144                  // pcre2.h:259:1:
   408  	DPCRE2_ERROR_JIT_BADOPTION                       = -45                  // pcre2.h:379:1:
   409  	DPCRE2_ERROR_JIT_STACKLIMIT                      = -46                  // pcre2.h:380:1:
   410  	DPCRE2_ERROR_LOOKBEHIND_INVALID_BACKSLASH_C      = 136                  // pcre2.h:251:1:
   411  	DPCRE2_ERROR_LOOKBEHIND_NOT_FIXED_LENGTH         = 125                  // pcre2.h:240:1:
   412  	DPCRE2_ERROR_LOOKBEHIND_TOO_COMPLICATED          = 135                  // pcre2.h:250:1:
   413  	DPCRE2_ERROR_LOOKBEHIND_TOO_LONG                 = 187                  // pcre2.h:303:1:
   414  	DPCRE2_ERROR_MALFORMED_UNICODE_PROPERTY          = 146                  // pcre2.h:261:1:
   415  	DPCRE2_ERROR_MARK_MISSING_ARGUMENT               = 166                  // pcre2.h:282:1:
   416  	DPCRE2_ERROR_MATCHLIMIT                          = -47                  // pcre2.h:381:1:
   417  	DPCRE2_ERROR_MISSING_CALLOUT_CLOSING             = 139                  // pcre2.h:254:1:
   418  	DPCRE2_ERROR_MISSING_CLOSING_PARENTHESIS         = 114                  // pcre2.h:229:1:
   419  	DPCRE2_ERROR_MISSING_COMMENT_CLOSING             = 118                  // pcre2.h:233:1:
   420  	DPCRE2_ERROR_MISSING_CONDITION_CLOSING           = 124                  // pcre2.h:239:1:
   421  	DPCRE2_ERROR_MISSING_NAME_TERMINATOR             = 142                  // pcre2.h:257:1:
   422  	DPCRE2_ERROR_MISSING_OCTAL_OR_HEX_DIGITS         = 178                  // pcre2.h:294:1:
   423  	DPCRE2_ERROR_MISSING_SQUARE_BRACKET              = 106                  // pcre2.h:221:1:
   424  	DPCRE2_ERROR_MIXEDTABLES                         = -30                  // pcre2.h:364:1:
   425  	DPCRE2_ERROR_NOMATCH                             = -1                   // pcre2.h:320:1:
   426  	DPCRE2_ERROR_NOMEMORY                            = -48                  // pcre2.h:382:1:
   427  	DPCRE2_ERROR_NOSUBSTRING                         = -49                  // pcre2.h:383:1:
   428  	DPCRE2_ERROR_NOUNIQUESUBSTRING                   = -50                  // pcre2.h:384:1:
   429  	DPCRE2_ERROR_NO_SURROGATES_IN_UTF16              = 191                  // pcre2.h:307:1:
   430  	DPCRE2_ERROR_NULL                                = -51                  // pcre2.h:385:1:
   431  	DPCRE2_ERROR_NULL_PATTERN                        = 116                  // pcre2.h:231:1:
   432  	DPCRE2_ERROR_OCTAL_BYTE_TOO_BIG                  = 151                  // pcre2.h:266:1:
   433  	DPCRE2_ERROR_PARENS_QUERY_R_MISSING_CLOSING      = 158                  // pcre2.h:273:1:
   434  	DPCRE2_ERROR_PARENTHESES_NEST_TOO_DEEP           = 119                  // pcre2.h:234:1:
   435  	DPCRE2_ERROR_PARENTHESES_STACK_CHECK             = 133                  // pcre2.h:248:1:
   436  	DPCRE2_ERROR_PARTIAL                             = -2                   // pcre2.h:321:1:
   437  	DPCRE2_ERROR_PATTERN_STRING_TOO_LONG             = 188                  // pcre2.h:304:1:
   438  	DPCRE2_ERROR_PATTERN_TOO_COMPLICATED             = 186                  // pcre2.h:302:1:
   439  	DPCRE2_ERROR_PATTERN_TOO_LARGE                   = 120                  // pcre2.h:235:1:
   440  	DPCRE2_ERROR_POSIX_CLASS_NOT_IN_CLASS            = 112                  // pcre2.h:227:1:
   441  	DPCRE2_ERROR_POSIX_NO_SUPPORT_COLLATING          = 113                  // pcre2.h:228:1:
   442  	DPCRE2_ERROR_QUANTIFIER_INVALID                  = 109                  // pcre2.h:224:1:
   443  	DPCRE2_ERROR_QUANTIFIER_OUT_OF_ORDER             = 104                  // pcre2.h:219:1:
   444  	DPCRE2_ERROR_QUANTIFIER_TOO_BIG                  = 105                  // pcre2.h:220:1:
   445  	DPCRE2_ERROR_QUERY_BARJX_NEST_TOO_DEEP           = 184                  // pcre2.h:300:1:
   446  	DPCRE2_ERROR_RECURSELOOP                         = -52                  // pcre2.h:386:1:
   447  	DPCRE2_ERROR_RECURSIONLIMIT                      = -53                  // pcre2.h:388:1:
   448  	DPCRE2_ERROR_REPMISSINGBRACE                     = -58                  // pcre2.h:393:1:
   449  	DPCRE2_ERROR_SCRIPT_RUN_NOT_AVAILABLE            = 196                  // pcre2.h:312:1:
   450  	DPCRE2_ERROR_SUBPATTERN_NAMES_MISMATCH           = 165                  // pcre2.h:281:1:
   451  	DPCRE2_ERROR_SUBPATTERN_NAME_EXPECTED            = 162                  // pcre2.h:278:1:
   452  	DPCRE2_ERROR_SUBPATTERN_NAME_TOO_LONG            = 148                  // pcre2.h:263:1:
   453  	DPCRE2_ERROR_SUBPATTERN_NUMBER_TOO_BIG           = 161                  // pcre2.h:277:1:
   454  	DPCRE2_ERROR_SUPPORTED_ONLY_IN_UNICODE           = 193                  // pcre2.h:309:1:
   455  	DPCRE2_ERROR_TOOMANYREPLACE                      = -61                  // pcre2.h:396:1:
   456  	DPCRE2_ERROR_TOO_MANY_CAPTURES                   = 197                  // pcre2.h:313:1:
   457  	DPCRE2_ERROR_TOO_MANY_CONDITION_BRANCHES         = 127                  // pcre2.h:242:1:
   458  	DPCRE2_ERROR_TOO_MANY_NAMED_SUBPATTERNS          = 149                  // pcre2.h:264:1:
   459  	DPCRE2_ERROR_UCP_IS_DISABLED                     = 175                  // pcre2.h:291:1:
   460  	DPCRE2_ERROR_UNAVAILABLE                         = -54                  // pcre2.h:389:1:
   461  	DPCRE2_ERROR_UNICODE_DISALLOWED_CODE_POINT       = 173                  // pcre2.h:289:1:
   462  	DPCRE2_ERROR_UNICODE_NOT_SUPPORTED               = 132                  // pcre2.h:247:1:
   463  	DPCRE2_ERROR_UNICODE_PROPERTIES_UNAVAILABLE      = 145                  // pcre2.h:260:1:
   464  	DPCRE2_ERROR_UNKNOWN_ESCAPE                      = 103                  // pcre2.h:218:1:
   465  	DPCRE2_ERROR_UNKNOWN_POSIX_CLASS                 = 130                  // pcre2.h:245:1:
   466  	DPCRE2_ERROR_UNKNOWN_UNICODE_PROPERTY            = 147                  // pcre2.h:262:1:
   467  	DPCRE2_ERROR_UNMATCHED_CLOSING_PARENTHESIS       = 122                  // pcre2.h:237:1:
   468  	DPCRE2_ERROR_UNRECOGNIZED_AFTER_QUERY_P          = 141                  // pcre2.h:256:1:
   469  	DPCRE2_ERROR_UNSET                               = -55                  // pcre2.h:390:1:
   470  	DPCRE2_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE         = 137                  // pcre2.h:252:1:
   471  	DPCRE2_ERROR_UTF16_ERR1                          = -24                  // pcre2.h:349:1:
   472  	DPCRE2_ERROR_UTF16_ERR2                          = -25                  // pcre2.h:350:1:
   473  	DPCRE2_ERROR_UTF16_ERR3                          = -26                  // pcre2.h:351:1:
   474  	DPCRE2_ERROR_UTF32_ERR1                          = -27                  // pcre2.h:355:1:
   475  	DPCRE2_ERROR_UTF32_ERR2                          = -28                  // pcre2.h:356:1:
   476  	DPCRE2_ERROR_UTF8_ERR1                           = -3                   // pcre2.h:325:1:
   477  	DPCRE2_ERROR_UTF8_ERR10                          = -12                  // pcre2.h:334:1:
   478  	DPCRE2_ERROR_UTF8_ERR11                          = -13                  // pcre2.h:335:1:
   479  	DPCRE2_ERROR_UTF8_ERR12                          = -14                  // pcre2.h:336:1:
   480  	DPCRE2_ERROR_UTF8_ERR13                          = -15                  // pcre2.h:337:1:
   481  	DPCRE2_ERROR_UTF8_ERR14                          = -16                  // pcre2.h:338:1:
   482  	DPCRE2_ERROR_UTF8_ERR15                          = -17                  // pcre2.h:339:1:
   483  	DPCRE2_ERROR_UTF8_ERR16                          = -18                  // pcre2.h:340:1:
   484  	DPCRE2_ERROR_UTF8_ERR17                          = -19                  // pcre2.h:341:1:
   485  	DPCRE2_ERROR_UTF8_ERR18                          = -20                  // pcre2.h:342:1:
   486  	DPCRE2_ERROR_UTF8_ERR19                          = -21                  // pcre2.h:343:1:
   487  	DPCRE2_ERROR_UTF8_ERR2                           = -4                   // pcre2.h:326:1:
   488  	DPCRE2_ERROR_UTF8_ERR20                          = -22                  // pcre2.h:344:1:
   489  	DPCRE2_ERROR_UTF8_ERR21                          = -23                  // pcre2.h:345:1:
   490  	DPCRE2_ERROR_UTF8_ERR3                           = -5                   // pcre2.h:327:1:
   491  	DPCRE2_ERROR_UTF8_ERR4                           = -6                   // pcre2.h:328:1:
   492  	DPCRE2_ERROR_UTF8_ERR5                           = -7                   // pcre2.h:329:1:
   493  	DPCRE2_ERROR_UTF8_ERR6                           = -8                   // pcre2.h:330:1:
   494  	DPCRE2_ERROR_UTF8_ERR7                           = -9                   // pcre2.h:331:1:
   495  	DPCRE2_ERROR_UTF8_ERR8                           = -10                  // pcre2.h:332:1:
   496  	DPCRE2_ERROR_UTF8_ERR9                           = -11                  // pcre2.h:333:1:
   497  	DPCRE2_ERROR_UTF_IS_DISABLED                     = 174                  // pcre2.h:290:1:
   498  	DPCRE2_ERROR_VERB_ARGUMENT_NOT_ALLOWED           = 159                  // pcre2.h:275:1:
   499  	DPCRE2_ERROR_VERB_NAME_TOO_LONG                  = 176                  // pcre2.h:292:1:
   500  	DPCRE2_ERROR_VERB_UNKNOWN                        = 160                  // pcre2.h:276:1:
   501  	DPCRE2_ERROR_VERSION_CONDITION_SYNTAX            = 179                  // pcre2.h:295:1:
   502  	DPCRE2_ERROR_ZERO_RELATIVE_REFERENCE             = 126                  // pcre2.h:241:1:
   503  	DPCRE2_EXTENDED                                  = 0x00000080           // pcre2.h:126:1:
   504  	DPCRE2_EXTENDED_MORE                             = 0x01000000           // pcre2.h:143:1:
   505  	DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK                = 0x00000040           // pcre2.h:155:1:
   506  	DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES             = 0x00000001           // pcre2.h:149:1:
   507  	DPCRE2_EXTRA_ALT_BSUX                            = 0x00000020           // pcre2.h:154:1:
   508  	DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL               = 0x00000002           // pcre2.h:150:1:
   509  	DPCRE2_EXTRA_ESCAPED_CR_IS_LF                    = 0x00000010           // pcre2.h:153:1:
   510  	DPCRE2_EXTRA_MATCH_LINE                          = 0x00000008           // pcre2.h:152:1:
   511  	DPCRE2_EXTRA_MATCH_WORD                          = 0x00000004           // pcre2.h:151:1:
   512  	DPCRE2_FIRSTCASELESS                             = 0x00000020           // pcre2_internal.h:513:1:
   513  	DPCRE2_FIRSTLINE                                 = 0x00000100           // pcre2.h:127:1:
   514  	DPCRE2_FIRSTMAPSET                               = 0x00000040           // pcre2_internal.h:514:1:
   515  	DPCRE2_FIRSTSET                                  = 0x00000010           // pcre2_internal.h:512:1:
   516  	DPCRE2_HASACCEPT                                 = 0x00800000           // pcre2_internal.h:531:1:
   517  	DPCRE2_HASBKC                                    = 0x00400000           // pcre2_internal.h:530:1:
   518  	DPCRE2_HASBKPORX                                 = 0x00100000           // pcre2_internal.h:528:1:
   519  	DPCRE2_HASCRORLF                                 = 0x00000800           // pcre2_internal.h:519:1:
   520  	DPCRE2_HASTHEN                                   = 0x00001000           // pcre2_internal.h:520:1:
   521  	DPCRE2_H_IDEMPOTENT_GUARD                        = 0                    // pcre2.h:40:1:
   522  	DPCRE2_INFO_ALLOPTIONS                           = 0                    // pcre2.h:406:1:
   523  	DPCRE2_INFO_ARGOPTIONS                           = 1                    // pcre2.h:407:1:
   524  	DPCRE2_INFO_BACKREFMAX                           = 2                    // pcre2.h:408:1:
   525  	DPCRE2_INFO_BSR                                  = 3                    // pcre2.h:409:1:
   526  	DPCRE2_INFO_CAPTURECOUNT                         = 4                    // pcre2.h:410:1:
   527  	DPCRE2_INFO_DEPTHLIMIT                           = 21                   // pcre2.h:427:1:
   528  	DPCRE2_INFO_EXTRAOPTIONS                         = 26                   // pcre2.h:433:1:
   529  	DPCRE2_INFO_FIRSTBITMAP                          = 7                    // pcre2.h:413:1:
   530  	DPCRE2_INFO_FIRSTCODETYPE                        = 6                    // pcre2.h:412:1:
   531  	DPCRE2_INFO_FIRSTCODEUNIT                        = 5                    // pcre2.h:411:1:
   532  	DPCRE2_INFO_FRAMESIZE                            = 24                   // pcre2.h:431:1:
   533  	DPCRE2_INFO_HASBACKSLASHC                        = 23                   // pcre2.h:430:1:
   534  	DPCRE2_INFO_HASCRORLF                            = 8                    // pcre2.h:414:1:
   535  	DPCRE2_INFO_HEAPLIMIT                            = 25                   // pcre2.h:432:1:
   536  	DPCRE2_INFO_JCHANGED                             = 9                    // pcre2.h:415:1:
   537  	DPCRE2_INFO_JITSIZE                              = 10                   // pcre2.h:416:1:
   538  	DPCRE2_INFO_LASTCODETYPE                         = 12                   // pcre2.h:418:1:
   539  	DPCRE2_INFO_LASTCODEUNIT                         = 11                   // pcre2.h:417:1:
   540  	DPCRE2_INFO_MATCHEMPTY                           = 13                   // pcre2.h:419:1:
   541  	DPCRE2_INFO_MATCHLIMIT                           = 14                   // pcre2.h:420:1:
   542  	DPCRE2_INFO_MAXLOOKBEHIND                        = 15                   // pcre2.h:421:1:
   543  	DPCRE2_INFO_MINLENGTH                            = 16                   // pcre2.h:422:1:
   544  	DPCRE2_INFO_NAMECOUNT                            = 17                   // pcre2.h:423:1:
   545  	DPCRE2_INFO_NAMEENTRYSIZE                        = 18                   // pcre2.h:424:1:
   546  	DPCRE2_INFO_NAMETABLE                            = 19                   // pcre2.h:425:1:
   547  	DPCRE2_INFO_NEWLINE                              = 20                   // pcre2.h:426:1:
   548  	DPCRE2_INFO_RECURSIONLIMIT                       = 21                   // pcre2.h:428:1:
   549  	DPCRE2_INFO_SIZE                                 = 22                   // pcre2.h:429:1:
   550  	DPCRE2_INTERNAL_H_IDEMPOTENT_GUARD               = 0                    // pcre2_internal.h:42:1:
   551  	DPCRE2_JCHANGED                                  = 0x00000400           // pcre2_internal.h:518:1:
   552  	DPCRE2_JIT_COMPLETE                              = 0x00000001           // pcre2.h:159:1:
   553  	DPCRE2_JIT_INVALID_UTF                           = 0x00000100           // pcre2.h:162:1:
   554  	DPCRE2_JIT_PARTIAL_HARD                          = 0x00000004           // pcre2.h:161:1:
   555  	DPCRE2_JIT_PARTIAL_SOFT                          = 0x00000002           // pcre2.h:160:1:
   556  	DPCRE2_KEEP_UNINITIALIZED                        = 0                    // pcre2_internal.h:87:1:
   557  	DPCRE2_LASTCASELESS                              = 0x00000100           // pcre2_internal.h:516:1:
   558  	DPCRE2_LASTSET                                   = 0x00000080           // pcre2_internal.h:515:1:
   559  	DPCRE2_LITERAL                                   = 0x02000000           // pcre2.h:144:1:
   560  	DPCRE2_MAJOR                                     = 10                   // pcre2.h:44:1:
   561  	DPCRE2_MATCH_EMPTY                               = 0x00002000           // pcre2_internal.h:521:1:
   562  	DPCRE2_MATCH_INVALID_UTF                         = 0x04000000           // pcre2.h:145:1:
   563  	DPCRE2_MATCH_UNSET_BACKREF                       = 0x00000200           // pcre2.h:128:1:
   564  	DPCRE2_MD_COPIED_SUBJECT                         = 0x01                 // pcre2_internal.h:543:1:
   565  	DPCRE2_MINOR                                     = 40                   // pcre2.h:45:1:
   566  	DPCRE2_MODE16                                    = 0x00000002           // pcre2_internal.h:510:1:
   567  	DPCRE2_MODE32                                    = 0x00000004           // pcre2_internal.h:511:1:
   568  	DPCRE2_MODE8                                     = 0x00000001           // pcre2_internal.h:509:1:
   569  	DPCRE2_MODE_MASK                                 = 7                    // pcre2_internal.h:533:1:
   570  	DPCRE2_MULTILINE                                 = 0x00000400           // pcre2.h:129:1:
   571  	DPCRE2_NEVER_BACKSLASH_C                         = 0x00100000           // pcre2.h:139:1:
   572  	DPCRE2_NEVER_UCP                                 = 0x00000800           // pcre2.h:130:1:
   573  	DPCRE2_NEVER_UTF                                 = 0x00001000           // pcre2.h:131:1:
   574  	DPCRE2_NEWLINE_ANY                               = 4                    // pcre2.h:206:1:
   575  	DPCRE2_NEWLINE_ANYCRLF                           = 5                    // pcre2.h:207:1:
   576  	DPCRE2_NEWLINE_CR                                = 1                    // pcre2.h:203:1:
   577  	DPCRE2_NEWLINE_CRLF                              = 3                    // pcre2.h:205:1:
   578  	DPCRE2_NEWLINE_LF                                = 2                    // pcre2.h:204:1:
   579  	DPCRE2_NEWLINE_NUL                               = 6                    // pcre2.h:208:1:
   580  	DPCRE2_NE_ATST_SET                               = 0x00020000           // pcre2_internal.h:525:1:
   581  	DPCRE2_NL_SET                                    = 0x00008000           // pcre2_internal.h:523:1:
   582  	DPCRE2_NOJIT                                     = 0x00080000           // pcre2_internal.h:527:1:
   583  	DPCRE2_NOTBOL                                    = 0x00000001           // pcre2.h:170:1:
   584  	DPCRE2_NOTEMPTY                                  = 0x00000004           // pcre2.h:172:1:
   585  	DPCRE2_NOTEMPTY_ATSTART                          = 0x00000008           // pcre2.h:173:1:
   586  	DPCRE2_NOTEMPTY_SET                              = 0x00010000           // pcre2_internal.h:524:1:
   587  	DPCRE2_NOTEOL                                    = 0x00000002           // pcre2.h:171:1:
   588  	DPCRE2_NO_AUTO_CAPTURE                           = 0x00002000           // pcre2.h:132:1:
   589  	DPCRE2_NO_AUTO_POSSESS                           = 0x00004000           // pcre2.h:133:1:
   590  	DPCRE2_NO_DOTSTAR_ANCHOR                         = 0x00008000           // pcre2.h:134:1:
   591  	DPCRE2_NO_JIT                                    = 0x00002000           // pcre2.h:183:1:
   592  	DPCRE2_NO_START_OPTIMIZE                         = 0x00010000           // pcre2.h:135:1:
   593  	DPCRE2_NO_UTF_CHECK                              = 0x40000000           // pcre2.h:106:1:
   594  	DPCRE2_PARTIAL_HARD                              = 0x00000020           // pcre2.h:175:1:
   595  	DPCRE2_PARTIAL_SOFT                              = 0x00000010           // pcre2.h:174:1:
   596  	DPCRE2_PRERELEASE                                = 0                    // pcre2.h:46:1:
   597  	DPCRE2_SIZE_MAX                                  = 18446744073709551615 // pcre2.h:472:1:
   598  	DPCRE2_STARTLINE                                 = 0x00000200           // pcre2_internal.h:517:1:
   599  	DPCRE2_SUBSTITUTE_EXTENDED                       = 0x00000200           // pcre2.h:179:1:
   600  	DPCRE2_SUBSTITUTE_GLOBAL                         = 0x00000100           // pcre2.h:178:1:
   601  	DPCRE2_SUBSTITUTE_LITERAL                        = 0x00008000           // pcre2.h:185:1:
   602  	DPCRE2_SUBSTITUTE_MATCHED                        = 0x00010000           // pcre2.h:186:1:
   603  	DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH                = 0x00001000           // pcre2.h:182:1:
   604  	DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY               = 0x00020000           // pcre2.h:187:1:
   605  	DPCRE2_SUBSTITUTE_UNKNOWN_UNSET                  = 0x00000800           // pcre2.h:181:1:
   606  	DPCRE2_SUBSTITUTE_UNSET_EMPTY                    = 0x00000400           // pcre2.h:180:1:
   607  	DPCRE2_UCP                                       = 0x00020000           // pcre2.h:136:1:
   608  	DPCRE2_UCP_H_IDEMPOTENT_GUARD                    = 0                    // pcre2_ucp.h:46:1:
   609  	DPCRE2_UNGREEDY                                  = 0x00040000           // pcre2.h:137:1:
   610  	DPCRE2_USE_OFFSET_LIMIT                          = 0x00800000           // pcre2.h:142:1:
   611  	DPCRE2_UTF                                       = 0x00080000           // pcre2.h:138:1:
   612  	DPDP_ENDIAN                                      = 3412                 // endian.h:29:1:
   613  	DPIPE_BUF                                        = 4096                 // limits.h:14:1:
   614  	DPRIX16                                          = "X"                  // inttypes.h:135:1:
   615  	DPRIX32                                          = "X"                  // inttypes.h:136:1:
   616  	DPRIX8                                           = "X"                  // inttypes.h:134:1:
   617  	DPRIXFAST8                                       = "X"                  // inttypes.h:144:1:
   618  	DPRIXLEAST16                                     = "X"                  // inttypes.h:140:1:
   619  	DPRIXLEAST32                                     = "X"                  // inttypes.h:141:1:
   620  	DPRIXLEAST8                                      = "X"                  // inttypes.h:139:1:
   621  	DPRId16                                          = "d"                  // inttypes.h:55:1:
   622  	DPRId32                                          = "d"                  // inttypes.h:56:1:
   623  	DPRId8                                           = "d"                  // inttypes.h:54:1:
   624  	DPRIdFAST8                                       = "d"                  // inttypes.h:64:1:
   625  	DPRIdLEAST16                                     = "d"                  // inttypes.h:60:1:
   626  	DPRIdLEAST32                                     = "d"                  // inttypes.h:61:1:
   627  	DPRIdLEAST8                                      = "d"                  // inttypes.h:59:1:
   628  	DPRIi16                                          = "i"                  // inttypes.h:71:1:
   629  	DPRIi32                                          = "i"                  // inttypes.h:72:1:
   630  	DPRIi8                                           = "i"                  // inttypes.h:70:1:
   631  	DPRIiFAST8                                       = "i"                  // inttypes.h:80:1:
   632  	DPRIiLEAST16                                     = "i"                  // inttypes.h:76:1:
   633  	DPRIiLEAST32                                     = "i"                  // inttypes.h:77:1:
   634  	DPRIiLEAST8                                      = "i"                  // inttypes.h:75:1:
   635  	DPRIo16                                          = "o"                  // inttypes.h:87:1:
   636  	DPRIo32                                          = "o"                  // inttypes.h:88:1:
   637  	DPRIo8                                           = "o"                  // inttypes.h:86:1:
   638  	DPRIoFAST8                                       = "o"                  // inttypes.h:96:1:
   639  	DPRIoLEAST16                                     = "o"                  // inttypes.h:92:1:
   640  	DPRIoLEAST32                                     = "o"                  // inttypes.h:93:1:
   641  	DPRIoLEAST8                                      = "o"                  // inttypes.h:91:1:
   642  	DPRIu16                                          = "u"                  // inttypes.h:103:1:
   643  	DPRIu32                                          = "u"                  // inttypes.h:104:1:
   644  	DPRIu8                                           = "u"                  // inttypes.h:102:1:
   645  	DPRIuFAST8                                       = "u"                  // inttypes.h:112:1:
   646  	DPRIuLEAST16                                     = "u"                  // inttypes.h:108:1:
   647  	DPRIuLEAST32                                     = "u"                  // inttypes.h:109:1:
   648  	DPRIuLEAST8                                      = "u"                  // inttypes.h:107:1:
   649  	DPRIx16                                          = "x"                  // inttypes.h:119:1:
   650  	DPRIx32                                          = "x"                  // inttypes.h:120:1:
   651  	DPRIx8                                           = "x"                  // inttypes.h:118:1:
   652  	DPRIxFAST8                                       = "x"                  // inttypes.h:128:1:
   653  	DPRIxLEAST16                                     = "x"                  // inttypes.h:124:1:
   654  	DPRIxLEAST32                                     = "x"                  // inttypes.h:125:1:
   655  	DPRIxLEAST8                                      = "x"                  // inttypes.h:123:1:
   656  	DPTHREAD_DESTRUCTOR_ITERATIONS                   = 4                    // local_lim.h:69:1:
   657  	DPTHREAD_KEYS_MAX                                = 1024                 // local_lim.h:64:1:
   658  	DPTRDIFF_MAX                                     = 9223372036854775807  // stdint.h:210:1:
   659  	DPTRDIFF_MIN                                     = -9223372036854775808 // stdint.h:209:1:
   660  	DPTRDIFF_WIDTH                                   = 64                   // stdint.h:311:1:
   661  	DPT_ALNUM                                        = 6                    // pcre2_internal.h:1282:1:
   662  	DPT_ANY                                          = 0                    // pcre2_internal.h:1276:1:
   663  	DPT_BIDICL                                       = 12                   // pcre2_internal.h:1288:1:
   664  	DPT_BOOL                                         = 13                   // pcre2_internal.h:1289:1:
   665  	DPT_CLIST                                        = 10                   // pcre2_internal.h:1286:1:
   666  	DPT_GC                                           = 2                    // pcre2_internal.h:1278:1:
   667  	DPT_LAMP                                         = 1                    // pcre2_internal.h:1277:1:
   668  	DPT_NOTSCRIPT                                    = 255                  // pcre2_internal.h:1305:1:
   669  	DPT_PC                                           = 3                    // pcre2_internal.h:1279:1:
   670  	DPT_PXGRAPH                                      = 14                   // pcre2_internal.h:1298:1:
   671  	DPT_PXPRINT                                      = 15                   // pcre2_internal.h:1299:1:
   672  	DPT_PXPUNCT                                      = 16                   // pcre2_internal.h:1300:1:
   673  	DPT_PXSPACE                                      = 8                    // pcre2_internal.h:1284:1:
   674  	DPT_SC                                           = 4                    // pcre2_internal.h:1280:1:
   675  	DPT_SCX                                          = 5                    // pcre2_internal.h:1281:1:
   676  	DPT_SPACE                                        = 7                    // pcre2_internal.h:1283:1:
   677  	DPT_TABSIZE                                      = 14                   // pcre2_internal.h:1290:1:
   678  	DPT_UCNC                                         = 11                   // pcre2_internal.h:1287:1:
   679  	DPT_WORD                                         = 9                    // pcre2_internal.h:1285:1:
   680  	DP_tmpdir                                        = "/tmp"               // stdio.h:120:1:
   681  	DRAND_MAX                                        = 2147483647           // stdlib.h:87:1:
   682  	DRENAME_EXCHANGE                                 = 2                    // stdio.h:165:1:
   683  	DRENAME_NOREPLACE                                = 1                    // stdio.h:164:1:
   684  	DRENAME_WHITEOUT                                 = 4                    // stdio.h:166:1:
   685  	DREQ_CU_MAX                                      = 5000                 // pcre2_internal.h:555:1:
   686  	DRE_DUP_MAX                                      = 32767                // posix2_lim.h:88:1:
   687  	DRREF_ANY                                        = 0xffff               // pcre2_internal.h:1783:1:
   688  	DRTSIG_MAX                                       = 32                   // limits.h:19:1:
   689  	DSCHAR_MAX                                       = 127                  // limits.h:75:1:
   690  	DSCHAR_MIN                                       = -128                 // limits.h:73:1:
   691  	DSCHAR_WIDTH                                     = 8                    // limits.h:167:1:
   692  	DSCNd16                                          = "hd"                 // inttypes.h:172:1:
   693  	DSCNd32                                          = "d"                  // inttypes.h:173:1:
   694  	DSCNd8                                           = "hhd"                // inttypes.h:171:1:
   695  	DSCNdFAST8                                       = "hhd"                // inttypes.h:181:1:
   696  	DSCNdLEAST16                                     = "hd"                 // inttypes.h:177:1:
   697  	DSCNdLEAST32                                     = "d"                  // inttypes.h:178:1:
   698  	DSCNdLEAST8                                      = "hhd"                // inttypes.h:176:1:
   699  	DSCNi16                                          = "hi"                 // inttypes.h:188:1:
   700  	DSCNi32                                          = "i"                  // inttypes.h:189:1:
   701  	DSCNi8                                           = "hhi"                // inttypes.h:187:1:
   702  	DSCNiFAST8                                       = "hhi"                // inttypes.h:197:1:
   703  	DSCNiLEAST16                                     = "hi"                 // inttypes.h:193:1:
   704  	DSCNiLEAST32                                     = "i"                  // inttypes.h:194:1:
   705  	DSCNiLEAST8                                      = "hhi"                // inttypes.h:192:1:
   706  	DSCNo16                                          = "ho"                 // inttypes.h:220:1:
   707  	DSCNo32                                          = "o"                  // inttypes.h:221:1:
   708  	DSCNo8                                           = "hho"                // inttypes.h:219:1:
   709  	DSCNoFAST8                                       = "hho"                // inttypes.h:229:1:
   710  	DSCNoLEAST16                                     = "ho"                 // inttypes.h:225:1:
   711  	DSCNoLEAST32                                     = "o"                  // inttypes.h:226:1:
   712  	DSCNoLEAST8                                      = "hho"                // inttypes.h:224:1:
   713  	DSCNu16                                          = "hu"                 // inttypes.h:204:1:
   714  	DSCNu32                                          = "u"                  // inttypes.h:205:1:
   715  	DSCNu8                                           = "hhu"                // inttypes.h:203:1:
   716  	DSCNuFAST8                                       = "hhu"                // inttypes.h:213:1:
   717  	DSCNuLEAST16                                     = "hu"                 // inttypes.h:209:1:
   718  	DSCNuLEAST32                                     = "u"                  // inttypes.h:210:1:
   719  	DSCNuLEAST8                                      = "hhu"                // inttypes.h:208:1:
   720  	DSCNx16                                          = "hx"                 // inttypes.h:236:1:
   721  	DSCNx32                                          = "x"                  // inttypes.h:237:1:
   722  	DSCNx8                                           = "hhx"                // inttypes.h:235:1:
   723  	DSCNxFAST8                                       = "hhx"                // inttypes.h:245:1:
   724  	DSCNxLEAST16                                     = "hx"                 // inttypes.h:241:1:
   725  	DSCNxLEAST32                                     = "x"                  // inttypes.h:242:1:
   726  	DSCNxLEAST8                                      = "hhx"                // inttypes.h:240:1:
   727  	DSEEK_CUR                                        = 1                    // stdio.h:110:1:
   728  	DSEEK_DATA                                       = 3                    // stdio.h:113:1:
   729  	DSEEK_END                                        = 2                    // stdio.h:111:1:
   730  	DSEEK_HOLE                                       = 4                    // stdio.h:114:1:
   731  	DSEEK_SET                                        = 0                    // stdio.h:109:1:
   732  	DSEM_VALUE_MAX                                   = 2147483647           // local_lim.h:99:1:
   733  	DSHRT_MAX                                        = 32767                // limits.h:106:1:
   734  	DSHRT_MIN                                        = -32768               // limits.h:104:1:
   735  	DSHRT_WIDTH                                      = 16                   // limits.h:171:1:
   736  	DSIG_ATOMIC_MAX                                  = 2147483647           // stdint.h:223:1:
   737  	DSIG_ATOMIC_MIN                                  = -2147483648          // stdint.h:222:1:
   738  	DSIG_ATOMIC_WIDTH                                = 32                   // stdint.h:312:1:
   739  	DSIZE_MAX                                        = 18446744073709551615 // stdint.h:227:1:
   740  	DSIZE_WIDTH                                      = 64                   // stdint.h:313:1:
   741  	DSSIZE_MAX                                       = 9223372036854775807  // posix1_lim.h:169:1:
   742  	DSTART_FRAMES_SIZE                               = 20480                // pcre2_internal.h:231:1:
   743  	DSTDC_HEADERS                                    = 1                    // config.h:292:1:
   744  	DSTR_0                                           = "\060"               // pcre2_internal.h:1106:1:
   745  	DSTR_1                                           = "\061"               // pcre2_internal.h:1107:1:
   746  	DSTR_2                                           = "\062"               // pcre2_internal.h:1108:1:
   747  	DSTR_3                                           = "\063"               // pcre2_internal.h:1109:1:
   748  	DSTR_4                                           = "\064"               // pcre2_internal.h:1110:1:
   749  	DSTR_5                                           = "\065"               // pcre2_internal.h:1111:1:
   750  	DSTR_6                                           = "\066"               // pcre2_internal.h:1112:1:
   751  	DSTR_7                                           = "\067"               // pcre2_internal.h:1113:1:
   752  	DSTR_8                                           = "\070"               // pcre2_internal.h:1114:1:
   753  	DSTR_9                                           = "\071"               // pcre2_internal.h:1115:1:
   754  	DSTR_A                                           = "\101"               // pcre2_internal.h:1123:1:
   755  	DSTR_AMPERSAND                                   = "\046"               // pcre2_internal.h:1096:1:
   756  	DSTR_APOSTROPHE                                  = "\047"               // pcre2_internal.h:1097:1:
   757  	DSTR_ASTERISK                                    = "\052"               // pcre2_internal.h:1100:1:
   758  	DSTR_B                                           = "\102"               // pcre2_internal.h:1124:1:
   759  	DSTR_BACKSLASH                                   = "\134"               // pcre2_internal.h:1150:1:
   760  	DSTR_BEL                                         = "\007"               // pcre2_internal.h:1086:1:
   761  	DSTR_BS                                          = "\010"               // pcre2_internal.h:1085:1:
   762  	DSTR_C                                           = "\103"               // pcre2_internal.h:1125:1:
   763  	DSTR_CIRCUMFLEX_ACCENT                           = "\136"               // pcre2_internal.h:1152:1:
   764  	DSTR_COLON                                       = "\072"               // pcre2_internal.h:1116:1:
   765  	DSTR_COMMA                                       = "\054"               // pcre2_internal.h:1102:1:
   766  	DSTR_COMMERCIAL_AT                               = "\100"               // pcre2_internal.h:1122:1:
   767  	DSTR_CR                                          = "\015"               // pcre2_internal.h:1083:1:
   768  	DSTR_D                                           = "\104"               // pcre2_internal.h:1126:1:
   769  	DSTR_DEL                                         = "\177"               // pcre2_internal.h:1088:1:
   770  	DSTR_DOLLAR_SIGN                                 = "\044"               // pcre2_internal.h:1094:1:
   771  	DSTR_DOT                                         = "\056"               // pcre2_internal.h:1104:1:
   772  	DSTR_E                                           = "\105"               // pcre2_internal.h:1127:1:
   773  	DSTR_EQUALS_SIGN                                 = "\075"               // pcre2_internal.h:1119:1:
   774  	DSTR_ESC                                         = "\033"               // pcre2_internal.h:1087:1:
   775  	DSTR_EXCLAMATION_MARK                            = "\041"               // pcre2_internal.h:1091:1:
   776  	DSTR_F                                           = "\106"               // pcre2_internal.h:1128:1:
   777  	DSTR_FF                                          = "\014"               // pcre2_internal.h:1082:1:
   778  	DSTR_G                                           = "\107"               // pcre2_internal.h:1129:1:
   779  	DSTR_GRAVE_ACCENT                                = "\140"               // pcre2_internal.h:1154:1:
   780  	DSTR_GREATER_THAN_SIGN                           = "\076"               // pcre2_internal.h:1120:1:
   781  	DSTR_H                                           = "\110"               // pcre2_internal.h:1130:1:
   782  	DSTR_HT                                          = "\011"               // pcre2_internal.h:1080:1:
   783  	DSTR_I                                           = "\111"               // pcre2_internal.h:1131:1:
   784  	DSTR_J                                           = "\112"               // pcre2_internal.h:1132:1:
   785  	DSTR_K                                           = "\113"               // pcre2_internal.h:1133:1:
   786  	DSTR_L                                           = "\114"               // pcre2_internal.h:1134:1:
   787  	DSTR_LEFT_CURLY_BRACKET                          = "\173"               // pcre2_internal.h:1181:1:
   788  	DSTR_LEFT_PARENTHESIS                            = "\050"               // pcre2_internal.h:1098:1:
   789  	DSTR_LEFT_SQUARE_BRACKET                         = "\133"               // pcre2_internal.h:1149:1:
   790  	DSTR_LESS_THAN_SIGN                              = "\074"               // pcre2_internal.h:1118:1:
   791  	DSTR_M                                           = "\115"               // pcre2_internal.h:1135:1:
   792  	DSTR_MINUS                                       = "\055"               // pcre2_internal.h:1103:1:
   793  	DSTR_N                                           = "\116"               // pcre2_internal.h:1136:1:
   794  	DSTR_NL                                          = "\012"               // pcre2_internal.h:1084:1:
   795  	DSTR_NUMBER_SIGN                                 = "\043"               // pcre2_internal.h:1093:1:
   796  	DSTR_O                                           = "\117"               // pcre2_internal.h:1137:1:
   797  	DSTR_P                                           = "\120"               // pcre2_internal.h:1138:1:
   798  	DSTR_PERCENT_SIGN                                = "\045"               // pcre2_internal.h:1095:1:
   799  	DSTR_PLUS                                        = "\053"               // pcre2_internal.h:1101:1:
   800  	DSTR_Q                                           = "\121"               // pcre2_internal.h:1139:1:
   801  	DSTR_QUESTION_MARK                               = "\077"               // pcre2_internal.h:1121:1:
   802  	DSTR_QUOTATION_MARK                              = "\042"               // pcre2_internal.h:1092:1:
   803  	DSTR_R                                           = "\122"               // pcre2_internal.h:1140:1:
   804  	DSTR_RIGHT_CURLY_BRACKET                         = "\175"               // pcre2_internal.h:1183:1:
   805  	DSTR_RIGHT_PARENTHESIS                           = "\051"               // pcre2_internal.h:1099:1:
   806  	DSTR_RIGHT_SQUARE_BRACKET                        = "\135"               // pcre2_internal.h:1151:1:
   807  	DSTR_S                                           = "\123"               // pcre2_internal.h:1141:1:
   808  	DSTR_SEMICOLON                                   = "\073"               // pcre2_internal.h:1117:1:
   809  	DSTR_SLASH                                       = "\057"               // pcre2_internal.h:1105:1:
   810  	DSTR_SPACE                                       = "\040"               // pcre2_internal.h:1090:1:
   811  	DSTR_T                                           = "\124"               // pcre2_internal.h:1142:1:
   812  	DSTR_TILDE                                       = "\176"               // pcre2_internal.h:1184:1:
   813  	DSTR_U                                           = "\125"               // pcre2_internal.h:1143:1:
   814  	DSTR_UNDERSCORE                                  = "\137"               // pcre2_internal.h:1153:1:
   815  	DSTR_V                                           = "\126"               // pcre2_internal.h:1144:1:
   816  	DSTR_VERTICAL_LINE                               = "\174"               // pcre2_internal.h:1182:1:
   817  	DSTR_VT                                          = "\013"               // pcre2_internal.h:1081:1:
   818  	DSTR_W                                           = "\127"               // pcre2_internal.h:1145:1:
   819  	DSTR_X                                           = "\130"               // pcre2_internal.h:1146:1:
   820  	DSTR_Y                                           = "\131"               // pcre2_internal.h:1147:1:
   821  	DSTR_Z                                           = "\132"               // pcre2_internal.h:1148:1:
   822  	DSTR_a                                           = "\141"               // pcre2_internal.h:1155:1:
   823  	DSTR_b                                           = "\142"               // pcre2_internal.h:1156:1:
   824  	DSTR_c                                           = "\143"               // pcre2_internal.h:1157:1:
   825  	DSTR_d                                           = "\144"               // pcre2_internal.h:1158:1:
   826  	DSTR_e                                           = "\145"               // pcre2_internal.h:1159:1:
   827  	DSTR_f                                           = "\146"               // pcre2_internal.h:1160:1:
   828  	DSTR_g                                           = "\147"               // pcre2_internal.h:1161:1:
   829  	DSTR_h                                           = "\150"               // pcre2_internal.h:1162:1:
   830  	DSTR_i                                           = "\151"               // pcre2_internal.h:1163:1:
   831  	DSTR_j                                           = "\152"               // pcre2_internal.h:1164:1:
   832  	DSTR_k                                           = "\153"               // pcre2_internal.h:1165:1:
   833  	DSTR_l                                           = "\154"               // pcre2_internal.h:1166:1:
   834  	DSTR_m                                           = "\155"               // pcre2_internal.h:1167:1:
   835  	DSTR_n                                           = "\156"               // pcre2_internal.h:1168:1:
   836  	DSTR_o                                           = "\157"               // pcre2_internal.h:1169:1:
   837  	DSTR_p                                           = "\160"               // pcre2_internal.h:1170:1:
   838  	DSTR_q                                           = "\161"               // pcre2_internal.h:1171:1:
   839  	DSTR_r                                           = "\162"               // pcre2_internal.h:1172:1:
   840  	DSTR_s                                           = "\163"               // pcre2_internal.h:1173:1:
   841  	DSTR_t                                           = "\164"               // pcre2_internal.h:1174:1:
   842  	DSTR_u                                           = "\165"               // pcre2_internal.h:1175:1:
   843  	DSTR_v                                           = "\166"               // pcre2_internal.h:1176:1:
   844  	DSTR_w                                           = "\167"               // pcre2_internal.h:1177:1:
   845  	DSTR_x                                           = "\170"               // pcre2_internal.h:1178:1:
   846  	DSTR_y                                           = "\171"               // pcre2_internal.h:1179:1:
   847  	DSTR_z                                           = "\172"               // pcre2_internal.h:1180:1:
   848  	DSUPPORT_PCRE2GREP_CALLOUT                       = 0                    // config.h:312:1:
   849  	DSUPPORT_PCRE2GREP_CALLOUT_FORK                  = 0                    // config.h:317:1:
   850  	DSUPPORT_PCRE2_8                                 = 0                    // config.h:330:1:
   851  	DSUPPORT_UNICODE                                 = 0                    // config.h:336:1:
   852  	DSUPPORT_WIDE_CHARS                              = 0                    // pcre2_intmodedep.h:216:1:
   853  	DTABLES_LENGTH                                   = 1088                 // pcre2_internal.h:593:1:
   854  	DTMP_MAX                                         = 238328               // stdio_lim.h:26:1:
   855  	DTRUE                                            = 1                    // pcre2_internal.h:70:1:
   856  	DTTY_NAME_MAX                                    = 32                   // local_lim.h:87:1:
   857  	DUCD_BIDICLASS_SHIFT                             = 11                   // pcre2_internal.h:1844:1:
   858  	DUCD_BLOCK_SIZE                                  = 128                  // pcre2_internal.h:1831:1:
   859  	DUCD_BPROPS_MASK                                 = 0xfff                // pcre2_internal.h:1845:1:
   860  	DUCD_SCRIPTX_MASK                                = 0x3ff                // pcre2_internal.h:1843:1:
   861  	DUCHAR_MAX                                       = 255                  // limits.h:82:1:
   862  	DUCHAR_WIDTH                                     = 8                    // limits.h:169:1:
   863  	DUINT16_MAX                                      = 65535                // stdint.h:128:1:
   864  	DUINT16_WIDTH                                    = 16                   // stdint.h:281:1:
   865  	DUINT32_MAX                                      = 4294967295           // stdint.h:129:1:
   866  	DUINT32_WIDTH                                    = 32                   // stdint.h:283:1:
   867  	DUINT64_MAX                                      = 18446744073709551615 // stdint.h:130:1:
   868  	DUINT64_WIDTH                                    = 64                   // stdint.h:285:1:
   869  	DUINT8_MAX                                       = 255                  // stdint.h:127:1:
   870  	DUINT8_WIDTH                                     = 8                    // stdint.h:279:1:
   871  	DUINTMAX_MAX                                     = 18446744073709551615 // stdint.h:202:1:
   872  	DUINTMAX_WIDTH                                   = 64                   // stdint.h:309:1:
   873  	DUINTPTR_MAX                                     = 18446744073709551615 // stdint.h:188:1:
   874  	DUINTPTR_WIDTH                                   = 64                   // stdint.h:306:1:
   875  	DUINT_FAST16_MAX                                 = 18446744073709551615 // stdint.h:175:1:
   876  	DUINT_FAST16_WIDTH                               = 64                   // stdint.h:299:1:
   877  	DUINT_FAST32_MAX                                 = 18446744073709551615 // stdint.h:176:1:
   878  	DUINT_FAST32_WIDTH                               = 64                   // stdint.h:301:1:
   879  	DUINT_FAST64_MAX                                 = 18446744073709551615 // stdint.h:181:1:
   880  	DUINT_FAST64_WIDTH                               = 64                   // stdint.h:303:1:
   881  	DUINT_FAST8_MAX                                  = 255                  // stdint.h:173:1:
   882  	DUINT_FAST8_WIDTH                                = 8                    // stdint.h:297:1:
   883  	DUINT_LEAST16_MAX                                = 65535                // stdint.h:146:1:
   884  	DUINT_LEAST16_WIDTH                              = 16                   // stdint.h:290:1:
   885  	DUINT_LEAST32_MAX                                = 4294967295           // stdint.h:147:1:
   886  	DUINT_LEAST32_WIDTH                              = 32                   // stdint.h:292:1:
   887  	DUINT_LEAST64_MAX                                = 18446744073709551615 // stdint.h:148:1:
   888  	DUINT_LEAST64_WIDTH                              = 64                   // stdint.h:294:1:
   889  	DUINT_LEAST8_MAX                                 = 255                  // stdint.h:145:1:
   890  	DUINT_LEAST8_WIDTH                               = 8                    // stdint.h:288:1:
   891  	DUINT_MAX                                        = 4294967295           // limits.h:124:1:
   892  	DUINT_WIDTH                                      = 32                   // limits.h:177:1:
   893  	DULLONG_MAX                                      = 18446744073709551615 // limits.h:146:1:
   894  	DULLONG_WIDTH                                    = 64                   // limits.h:185:1:
   895  	DULONG_LONG_MAX                                  = 18446744073709551615 // limits.h:158:1:
   896  	DULONG_MAX                                       = 18446744073709551615 // limits.h:135:1:
   897  	DULONG_WIDTH                                     = 64                   // limits.h:181:1:
   898  	DUSHRT_MAX                                       = 65535                // limits.h:113:1:
   899  	DUSHRT_WIDTH                                     = 16                   // limits.h:173:1:
   900  	DVERSION                                         = "10.40"              // config.h:430:1:
   901  	DWCHAR_MAX                                       = 2147483647           // stdint.h:240:1:
   902  	DWCHAR_MIN                                       = -2147483648          // stdint.h:239:1:
   903  	DWCHAR_WIDTH                                     = 32                   // stdint.h:314:1:
   904  	DWCONTINUED                                      = 8                    // waitflags.h:32:1:
   905  	DWEXITED                                         = 4                    // waitflags.h:31:1:
   906  	DWINT_MAX                                        = 4294967295           // stdint.h:245:1:
   907  	DWINT_MIN                                        = 0                    // stdint.h:244:1:
   908  	DWINT_WIDTH                                      = 32                   // stdint.h:315:1:
   909  	DWNOHANG                                         = 1                    // waitflags.h:25:1:
   910  	DWNOWAIT                                         = 0x01000000           // waitflags.h:33:1:
   911  	DWORD_BIT                                        = 32                   // xopen_lim.h:114:1:
   912  	DWSTOPPED                                        = 2                    // waitflags.h:30:1:
   913  	DWUNTRACED                                       = 2                    // waitflags.h:26:1:
   914  	DXATTR_LIST_MAX                                  = 65536                // limits.h:17:1:
   915  	DXATTR_NAME_MAX                                  = 255                  // limits.h:15:1:
   916  	DXATTR_SIZE_MAX                                  = 65536                // limits.h:16:1:
   917  	DXCL_END                                         = 0                    // pcre2_internal.h:1314:1:
   918  	DXCL_HASPROP                                     = 0x04                 // pcre2_internal.h:1312:1:
   919  	DXCL_MAP                                         = 0x02                 // pcre2_internal.h:1311:1:
   920  	DXCL_NOT                                         = 0x01                 // pcre2_internal.h:1310:1:
   921  	DXCL_NOTPROP                                     = 4                    // pcre2_internal.h:1318:1:
   922  	DXCL_PROP                                        = 3                    // pcre2_internal.h:1317:1:
   923  	DXCL_RANGE                                       = 2                    // pcre2_internal.h:1316:1:
   924  	DXCL_SINGLE                                      = 1                    // pcre2_internal.h:1315:1:
   925  	D_ALLOCA_H                                       = 1                    // alloca.h:19:1:
   926  	D_ALL_SOURCE                                     = 1                    // config.h:343:1:
   927  	D_ANSI_STDDEF_H                                  = 0                    // stddef.h:42:1:
   928  	D_ATFILE_SOURCE                                  = 1                    // features.h:351:1:
   929  	D_BITS_ATOMIC_WIDE_COUNTER_H                     = 0                    // atomic_wide_counter.h:20:1:
   930  	D_BITS_BYTESWAP_H                                = 1                    // byteswap.h:24:1:
   931  	D_BITS_ENDIANNESS_H                              = 1                    // endianness.h:2:1:
   932  	D_BITS_ENDIAN_H                                  = 1                    // endian.h:20:1:
   933  	D_BITS_FLOATN_COMMON_H                           = 0                    // floatn-common.h:21:1:
   934  	D_BITS_FLOATN_H                                  = 0                    // floatn.h:20:1:
   935  	D_BITS_POSIX1_LIM_H                              = 1                    // posix1_lim.h:25:1:
   936  	D_BITS_POSIX2_LIM_H                              = 1                    // posix2_lim.h:23:1:
   937  	D_BITS_PTHREADTYPES_ARCH_H                       = 1                    // pthreadtypes-arch.h:19:1:
   938  	D_BITS_PTHREADTYPES_COMMON_H                     = 1                    // pthreadtypes.h:20:1:
   939  	D_BITS_STDINT_INTN_H                             = 1                    // stdint-intn.h:20:1:
   940  	D_BITS_STDINT_UINTN_H                            = 1                    // stdint-uintn.h:20:1:
   941  	D_BITS_STDIO_LIM_H                               = 1                    // stdio_lim.h:19:1:
   942  	D_BITS_TIME64_H                                  = 1                    // time64.h:24:1:
   943  	D_BITS_TYPESIZES_H                               = 1                    // typesizes.h:24:1:
   944  	D_BITS_TYPES_H                                   = 1                    // types.h:24:1:
   945  	D_BITS_TYPES_LOCALE_T_H                          = 1                    // locale_t.h:20:1:
   946  	D_BITS_TYPES___LOCALE_T_H                        = 1                    // __locale_t.h:20:1:
   947  	D_BITS_UINTN_IDENTITY_H                          = 1                    // uintn-identity.h:24:1:
   948  	D_BITS_UIO_LIM_H                                 = 1                    // uio_lim.h:20:1:
   949  	D_BITS_WCHAR_H                                   = 1                    // wchar.h:20:1:
   950  	D_BSD_PTRDIFF_T_                                 = 0                    // stddef.h:136:1:
   951  	D_BSD_SIZE_T_                                    = 0                    // stddef.h:189:1:
   952  	D_BSD_SIZE_T_DEFINED_                            = 0                    // stddef.h:192:1:
   953  	D_CTYPE_H                                        = 1                    // ctype.h:23:1:
   954  	D_DARWIN_C_SOURCE                                = 1                    // config.h:347:1:
   955  	D_DEFAULT_SOURCE                                 = 1                    // features.h:236:1:
   956  	D_DYNAMIC_STACK_SIZE_SOURCE                      = 1                    // features.h:224:1:
   957  	D_ENDIAN_H                                       = 1                    // endian.h:19:1:
   958  	D_FEATURES_H                                     = 1                    // features.h:19:1:
   959  	D_FILE_OFFSET_BITS                               = 64                   // <builtin>:25:1:
   960  	D_GCC_LIMITS_H_                                  = 0                    // limits.h:30:1:
   961  	D_GCC_MAX_ALIGN_T                                = 0                    // stddef.h:411:1:
   962  	D_GCC_PTRDIFF_T                                  = 0                    // stddef.h:138:1:
   963  	D_GCC_SIZE_T                                     = 0                    // stddef.h:195:1:
   964  	D_GCC_WCHAR_T                                    = 0                    // stddef.h:273:1:
   965  	D_GCC_WRAP_STDINT_H                              = 0                    // stdint.h:13:1:
   966  	D_GNU_SOURCE                                     = 1                    // config.h:355:1:
   967  	D_HPUX_ALT_XOPEN_SOCKET_API                      = 1                    // config.h:360:1:
   968  	D_INTTYPES_H                                     = 1                    // inttypes.h:23:1:
   969  	D_IOFBF                                          = 0                    // stdio.h:93:1:
   970  	D_IOLBF                                          = 1                    // stdio.h:94:1:
   971  	D_IONBF                                          = 2                    // stdio.h:95:1:
   972  	D_IO_EOF_SEEN                                    = 0x0010               // struct_FILE.h:111:1:
   973  	D_IO_ERR_SEEN                                    = 0x0020               // struct_FILE.h:114:1:
   974  	D_IO_USER_LOCK                                   = 0x8000               // struct_FILE.h:117:1:
   975  	D_ISOC11_SOURCE                                  = 1                    // features.h:206:1:
   976  	D_ISOC2X_SOURCE                                  = 1                    // features.h:208:1:
   977  	D_ISOC95_SOURCE                                  = 1                    // features.h:202:1:
   978  	D_ISOC99_SOURCE                                  = 1                    // features.h:204:1:
   979  	D_LARGEFILE64_SOURCE                             = 1                    // features.h:218:1:
   980  	D_LARGEFILE_SOURCE                               = 1                    // features.h:360:1:
   981  	D_LIBC_LIMITS_H_                                 = 1                    // limits.h:23:1:
   982  	D_LIMITS_H___                                    = 0                    // limits.h:60:1:
   983  	D_LINUX_LIMITS_H                                 = 0                    // limits.h:3:1:
   984  	D_LP64                                           = 1                    // <predefined>:297:1:
   985  	D_NETBSD_SOURCE                                  = 1                    // config.h:371:1:
   986  	D_OPENBSD_SOURCE                                 = 1                    // config.h:376:1:
   987  	D_POSIX2_BC_BASE_MAX                             = 99                   // posix2_lim.h:27:1:
   988  	D_POSIX2_BC_DIM_MAX                              = 2048                 // posix2_lim.h:30:1:
   989  	D_POSIX2_BC_SCALE_MAX                            = 99                   // posix2_lim.h:33:1:
   990  	D_POSIX2_BC_STRING_MAX                           = 1000                 // posix2_lim.h:36:1:
   991  	D_POSIX2_CHARCLASS_NAME_MAX                      = 14                   // posix2_lim.h:55:1:
   992  	D_POSIX2_COLL_WEIGHTS_MAX                        = 2                    // posix2_lim.h:40:1:
   993  	D_POSIX2_EXPR_NEST_MAX                           = 32                   // posix2_lim.h:44:1:
   994  	D_POSIX2_LINE_MAX                                = 2048                 // posix2_lim.h:47:1:
   995  	D_POSIX2_RE_DUP_MAX                              = 255                  // posix2_lim.h:51:1:
   996  	D_POSIX_AIO_LISTIO_MAX                           = 2                    // posix1_lim.h:32:1:
   997  	D_POSIX_AIO_MAX                                  = 1                    // posix1_lim.h:35:1:
   998  	D_POSIX_ARG_MAX                                  = 4096                 // posix1_lim.h:38:1:
   999  	D_POSIX_CHILD_MAX                                = 25                   // posix1_lim.h:42:1:
  1000  	D_POSIX_CLOCKRES_MIN                             = 20000000             // posix1_lim.h:157:1:
  1001  	D_POSIX_C_SOURCE                                 = 200809               // features.h:290:1:
  1002  	D_POSIX_DELAYTIMER_MAX                           = 32                   // posix1_lim.h:48:1:
  1003  	D_POSIX_FD_SETSIZE                               = 20                   // posix1_lim.h:93:1:
  1004  	D_POSIX_HIWAT                                    = 512                  // posix1_lim.h:150:1:
  1005  	D_POSIX_HOST_NAME_MAX                            = 255                  // posix1_lim.h:52:1:
  1006  	D_POSIX_LINK_MAX                                 = 8                    // posix1_lim.h:55:1:
  1007  	D_POSIX_LOGIN_NAME_MAX                           = 9                    // posix1_lim.h:58:1:
  1008  	D_POSIX_MAX_CANON                                = 255                  // posix1_lim.h:61:1:
  1009  	D_POSIX_MAX_INPUT                                = 255                  // posix1_lim.h:65:1:
  1010  	D_POSIX_MQ_OPEN_MAX                              = 8                    // posix1_lim.h:68:1:
  1011  	D_POSIX_MQ_PRIO_MAX                              = 32                   // posix1_lim.h:71:1:
  1012  	D_POSIX_NAME_MAX                                 = 14                   // posix1_lim.h:74:1:
  1013  	D_POSIX_NGROUPS_MAX                              = 8                    // posix1_lim.h:78:1:
  1014  	D_POSIX_OPEN_MAX                                 = 20                   // posix1_lim.h:85:1:
  1015  	D_POSIX_PATH_MAX                                 = 256                  // posix1_lim.h:97:1:
  1016  	D_POSIX_PIPE_BUF                                 = 512                  // posix1_lim.h:100:1:
  1017  	D_POSIX_PTHREAD_SEMANTICS                        = 1                    // config.h:388:1:
  1018  	D_POSIX_QLIMIT                                   = 1                    // posix1_lim.h:146:1:
  1019  	D_POSIX_RE_DUP_MAX                               = 255                  // posix1_lim.h:104:1:
  1020  	D_POSIX_RTSIG_MAX                                = 8                    // posix1_lim.h:107:1:
  1021  	D_POSIX_SEM_NSEMS_MAX                            = 256                  // posix1_lim.h:110:1:
  1022  	D_POSIX_SEM_VALUE_MAX                            = 32767                // posix1_lim.h:113:1:
  1023  	D_POSIX_SIGQUEUE_MAX                             = 32                   // posix1_lim.h:116:1:
  1024  	D_POSIX_SOURCE                                   = 1                    // features.h:288:1:
  1025  	D_POSIX_SSIZE_MAX                                = 32767                // posix1_lim.h:119:1:
  1026  	D_POSIX_STREAM_MAX                               = 8                    // posix1_lim.h:122:1:
  1027  	D_POSIX_SYMLINK_MAX                              = 255                  // posix1_lim.h:125:1:
  1028  	D_POSIX_SYMLOOP_MAX                              = 8                    // posix1_lim.h:129:1:
  1029  	D_POSIX_THREAD_DESTRUCTOR_ITERATIONS             = 4                    // local_lim.h:67:1:
  1030  	D_POSIX_THREAD_KEYS_MAX                          = 128                  // local_lim.h:62:1:
  1031  	D_POSIX_THREAD_THREADS_MAX                       = 64                   // local_lim.h:72:1:
  1032  	D_POSIX_TIMER_MAX                                = 32                   // posix1_lim.h:132:1:
  1033  	D_POSIX_TTY_NAME_MAX                             = 9                    // posix1_lim.h:135:1:
  1034  	D_POSIX_TZNAME_MAX                               = 6                    // posix1_lim.h:139:1:
  1035  	D_POSIX_UIO_MAXIOV                               = 16                   // posix1_lim.h:153:1:
  1036  	D_PRINTF_NAN_LEN_MAX                             = 4                    // stdio.h:138:1:
  1037  	D_PTRDIFF_T                                      = 0                    // stddef.h:131:1:
  1038  	D_PTRDIFF_T_                                     = 0                    // stddef.h:135:1:
  1039  	D_PTRDIFF_T_DECLARED                             = 0                    // stddef.h:139:1:
  1040  	D_RWLOCK_INTERNAL_H                              = 0                    // struct_rwlock.h:21:1:
  1041  	D_SIZET_                                         = 0                    // stddef.h:196:1:
  1042  	D_SIZE_T                                         = 0                    // stddef.h:183:1:
  1043  	D_SIZE_T_                                        = 0                    // stddef.h:188:1:
  1044  	D_SIZE_T_DECLARED                                = 0                    // stddef.h:193:1:
  1045  	D_SIZE_T_DEFINED                                 = 0                    // stddef.h:191:1:
  1046  	D_SIZE_T_DEFINED_                                = 0                    // stddef.h:190:1:
  1047  	D_STDC_PREDEF_H                                  = 1                    // <predefined>:168:1:
  1048  	D_STDDEF_H                                       = 0                    // stddef.h:39:1:
  1049  	D_STDDEF_H_                                      = 0                    // stddef.h:40:1:
  1050  	D_STDINT_H                                       = 1                    // stdint.h:23:1:
  1051  	D_STDIO_H                                        = 1                    // stdio.h:24:1:
  1052  	D_STDLIB_H                                       = 1                    // stdlib.h:36:1:
  1053  	D_STRINGS_H                                      = 1                    // strings.h:19:1:
  1054  	D_STRING_H                                       = 1                    // string.h:23:1:
  1055  	D_STRUCT_TIMESPEC                                = 1                    // struct_timespec.h:3:1:
  1056  	D_SYS_CDEFS_H                                    = 1                    // cdefs.h:20:1:
  1057  	D_SYS_SELECT_H                                   = 1                    // select.h:22:1:
  1058  	D_SYS_SIZE_T_H                                   = 0                    // stddef.h:184:1:
  1059  	D_SYS_TYPES_H                                    = 1                    // types.h:23:1:
  1060  	D_TANDEM_SOURCE                                  = 1                    // config.h:420:1:
  1061  	D_THREAD_MUTEX_INTERNAL_H                        = 1                    // struct_mutex.h:20:1:
  1062  	D_THREAD_SHARED_TYPES_H                          = 1                    // thread-shared-types.h:20:1:
  1063  	D_T_PTRDIFF                                      = 0                    // stddef.h:133:1:
  1064  	D_T_PTRDIFF_                                     = 0                    // stddef.h:132:1:
  1065  	D_T_SIZE                                         = 0                    // stddef.h:186:1:
  1066  	D_T_SIZE_                                        = 0                    // stddef.h:185:1:
  1067  	D_T_WCHAR                                        = 0                    // stddef.h:264:1:
  1068  	D_T_WCHAR_                                       = 0                    // stddef.h:263:1:
  1069  	D_VA_LIST_DEFINED                                = 0                    // stdio.h:53:1:
  1070  	D_WCHAR_T                                        = 0                    // stddef.h:262:1:
  1071  	D_WCHAR_T_                                       = 0                    // stddef.h:266:1:
  1072  	D_WCHAR_T_DECLARED                               = 0                    // stddef.h:274:1:
  1073  	D_WCHAR_T_DEFINED                                = 0                    // stddef.h:269:1:
  1074  	D_WCHAR_T_DEFINED_                               = 0                    // stddef.h:268:1:
  1075  	D_WCHAR_T_H                                      = 0                    // stddef.h:270:1:
  1076  	D_XOPEN_IOV_MAX                                  = 16                   // xopen_lim.h:62:1:
  1077  	D_XOPEN_LIM_H                                    = 1                    // xopen_lim.h:30:1:
  1078  	D_XOPEN_SOURCE                                   = 700                  // features.h:214:1:
  1079  	D_XOPEN_SOURCE_EXTENDED                          = 1                    // features.h:216:1:
  1080  	Dcbit_cntrl                                      = 288                  // pcre2_internal.h:573:1:
  1081  	Dcbit_digit                                      = 64                   // pcre2_internal.h:566:1:
  1082  	Dcbit_graph                                      = 192                  // pcre2_internal.h:570:1:
  1083  	Dcbit_length                                     = 320                  // pcre2_internal.h:574:1:
  1084  	Dcbit_lower                                      = 128                  // pcre2_internal.h:568:1:
  1085  	Dcbit_print                                      = 224                  // pcre2_internal.h:571:1:
  1086  	Dcbit_punct                                      = 256                  // pcre2_internal.h:572:1:
  1087  	Dcbit_space                                      = 0                    // pcre2_internal.h:564:1:
  1088  	Dcbit_upper                                      = 96                   // pcre2_internal.h:567:1:
  1089  	Dcbit_word                                       = 160                  // pcre2_internal.h:569:1:
  1090  	Dcbit_xdigit                                     = 32                   // pcre2_internal.h:565:1:
  1091  	Dcbits_offset                                    = 512                  // pcre2_internal.h:591:1:
  1092  	Dctype_digit                                     = 0x08                 // pcre2_internal.h:583:1:
  1093  	Dctype_lcletter                                  = 0x04                 // pcre2_internal.h:582:1:
  1094  	Dctype_letter                                    = 0x02                 // pcre2_internal.h:581:1:
  1095  	Dctype_space                                     = 0x01                 // pcre2_internal.h:580:1:
  1096  	Dctype_word                                      = 0x10                 // pcre2_internal.h:584:1:
  1097  	Dctypes_offset                                   = 832                  // pcre2_internal.h:592:1:
  1098  	Dfcc_offset                                      = 256                  // pcre2_internal.h:590:1:
  1099  	Dlcc_offset                                      = 0                    // pcre2_internal.h:589:1:
  1100  	Dlinux                                           = 1                    // <predefined>:243:1:
  1101  	Ducd_boolprop_sets_item_size                     = 2                    // pcre2_ucp.h:164:1:
  1102  	Ducd_script_sets_item_size                       = 3                    // pcre2_ucp.h:390:1:
  1103  	Dunix                                            = 1                    // <predefined>:184:1:
  1104  	DCOMPILE_WORK_SIZE                               = 6000                 // pcre2_compile.c:166:1:
  1105  	DESCAPES_FIRST                                   = 48                   // pcre2_compile.c:507:1:
  1106  	DESCAPES_LAST                                    = 122                  // pcre2_compile.c:508:1:
  1107  	DGI_FIXED_LENGTH_MASK                            = 0x0000ffff           // pcre2_compile.c:402:1:
  1108  	DGI_NOT_FIXED_LENGTH                             = 0x40000000           // pcre2_compile.c:401:1:
  1109  	DGI_SET_FIXED_LENGTH                             = 0x80000000           // pcre2_compile.c:400:1:
  1110  	DGROUPINFO_DEFAULT_SIZE                          = 256                  // pcre2_compile.c:175:1:
  1111  	DMAX_GROUP_NUMBER                                = 65535                // pcre2_compile.c:147:1:
  1112  	DMAX_REPEAT_COUNT                                = 65535                // pcre2_compile.c:148:1:
  1113  	DMETA_ACCEPT                                     = 0x802a0000           // pcre2_compile.c:266:1:
  1114  	DMETA_ALT                                        = 0x80010000           // pcre2_compile.c:213:1:
  1115  	DMETA_ASTERISK                                   = 0x80340000           // pcre2_compile.c:279:1:
  1116  	DMETA_ASTERISK_PLUS                              = 0x80350000           // pcre2_compile.c:280:1:
  1117  	DMETA_ASTERISK_QUERY                             = 0x80360000           // pcre2_compile.c:281:1:
  1118  	DMETA_ATOMIC                                     = 0x80020000           // pcre2_compile.c:214:1:
  1119  	DMETA_ATOMIC_SCRIPT_RUN                          = 0x8fff0000           // pcre2_compile.c:300:1:
  1120  	DMETA_BACKREF                                    = 0x80030000           // pcre2_compile.c:215:1:
  1121  	DMETA_BACKREF_BYNAME                             = 0x80040000           // pcre2_compile.c:216:1:
  1122  	DMETA_BIGVALUE                                   = 0x80050000           // pcre2_compile.c:217:1:
  1123  	DMETA_CALLOUT_NUMBER                             = 0x80060000           // pcre2_compile.c:218:1:
  1124  	DMETA_CALLOUT_STRING                             = 0x80070000           // pcre2_compile.c:219:1:
  1125  	DMETA_CAPTURE                                    = 0x80080000           // pcre2_compile.c:220:1:
  1126  	DMETA_CIRCUMFLEX                                 = 0x80090000           // pcre2_compile.c:221:1:
  1127  	DMETA_CLASS                                      = 0x800a0000           // pcre2_compile.c:222:1:
  1128  	DMETA_CLASS_EMPTY                                = 0x800b0000           // pcre2_compile.c:223:1:
  1129  	DMETA_CLASS_EMPTY_NOT                            = 0x800c0000           // pcre2_compile.c:224:1:
  1130  	DMETA_CLASS_END                                  = 0x800d0000           // pcre2_compile.c:225:1:
  1131  	DMETA_CLASS_NOT                                  = 0x800e0000           // pcre2_compile.c:226:1:
  1132  	DMETA_COMMIT                                     = 0x802c0000           // pcre2_compile.c:268:1:
  1133  	DMETA_COMMIT_ARG                                 = 0x802d0000           // pcre2_compile.c:269:1:
  1134  	DMETA_COND_ASSERT                                = 0x800f0000           // pcre2_compile.c:227:1:
  1135  	DMETA_COND_DEFINE                                = 0x80100000           // pcre2_compile.c:228:1:
  1136  	DMETA_COND_NAME                                  = 0x80110000           // pcre2_compile.c:229:1:
  1137  	DMETA_COND_NUMBER                                = 0x80120000           // pcre2_compile.c:230:1:
  1138  	DMETA_COND_RNAME                                 = 0x80130000           // pcre2_compile.c:231:1:
  1139  	DMETA_COND_RNUMBER                               = 0x80140000           // pcre2_compile.c:232:1:
  1140  	DMETA_COND_VERSION                               = 0x80150000           // pcre2_compile.c:233:1:
  1141  	DMETA_DOLLAR                                     = 0x80160000           // pcre2_compile.c:234:1:
  1142  	DMETA_DOT                                        = 0x80170000           // pcre2_compile.c:235:1:
  1143  	DMETA_END                                        = 0x80000000           // pcre2_compile.c:211:1:
  1144  	DMETA_ESCAPE                                     = 0x80180000           // pcre2_compile.c:236:1:
  1145  	DMETA_FAIL                                       = 0x802b0000           // pcre2_compile.c:267:1:
  1146  	DMETA_FIRST_QUANTIFIER                           = 2150891520           // pcre2_compile.c:292:1:
  1147  	DMETA_KET                                        = 0x80190000           // pcre2_compile.c:237:1:
  1148  	DMETA_LAST_QUANTIFIER                            = 2151612416           // pcre2_compile.c:293:1:
  1149  	DMETA_LOOKAHEAD                                  = 0x80230000           // pcre2_compile.c:251:1:
  1150  	DMETA_LOOKAHEADNOT                               = 0x80240000           // pcre2_compile.c:252:1:
  1151  	DMETA_LOOKAHEAD_NA                               = 0x80270000           // pcre2_compile.c:258:1:
  1152  	DMETA_LOOKBEHIND                                 = 0x80250000           // pcre2_compile.c:253:1:
  1153  	DMETA_LOOKBEHINDNOT                              = 0x80260000           // pcre2_compile.c:254:1:
  1154  	DMETA_LOOKBEHIND_NA                              = 0x80280000           // pcre2_compile.c:259:1:
  1155  	DMETA_MARK                                       = 0x80290000           // pcre2_compile.c:265:1:
  1156  	DMETA_MINMAX                                     = 0x803d0000           // pcre2_compile.c:288:1:
  1157  	DMETA_MINMAX_PLUS                                = 0x803e0000           // pcre2_compile.c:289:1:
  1158  	DMETA_MINMAX_QUERY                               = 0x803f0000           // pcre2_compile.c:290:1:
  1159  	DMETA_NOCAPTURE                                  = 0x801a0000           // pcre2_compile.c:238:1:
  1160  	DMETA_OPTIONS                                    = 0x801b0000           // pcre2_compile.c:239:1:
  1161  	DMETA_PLUS                                       = 0x80370000           // pcre2_compile.c:282:1:
  1162  	DMETA_PLUS_PLUS                                  = 0x80380000           // pcre2_compile.c:283:1:
  1163  	DMETA_PLUS_QUERY                                 = 0x80390000           // pcre2_compile.c:284:1:
  1164  	DMETA_POSIX                                      = 0x801c0000           // pcre2_compile.c:240:1:
  1165  	DMETA_POSIX_NEG                                  = 0x801d0000           // pcre2_compile.c:241:1:
  1166  	DMETA_PRUNE                                      = 0x802e0000           // pcre2_compile.c:270:1:
  1167  	DMETA_PRUNE_ARG                                  = 0x802f0000           // pcre2_compile.c:271:1:
  1168  	DMETA_QUERY                                      = 0x803a0000           // pcre2_compile.c:285:1:
  1169  	DMETA_QUERY_PLUS                                 = 0x803b0000           // pcre2_compile.c:286:1:
  1170  	DMETA_QUERY_QUERY                                = 0x803c0000           // pcre2_compile.c:287:1:
  1171  	DMETA_RANGE_ESCAPED                              = 0x801e0000           // pcre2_compile.c:242:1:
  1172  	DMETA_RANGE_LITERAL                              = 0x801f0000           // pcre2_compile.c:243:1:
  1173  	DMETA_RECURSE                                    = 0x80200000           // pcre2_compile.c:244:1:
  1174  	DMETA_RECURSE_BYNAME                             = 0x80210000           // pcre2_compile.c:245:1:
  1175  	DMETA_SCRIPT_RUN                                 = 0x80220000           // pcre2_compile.c:246:1:
  1176  	DMETA_SKIP                                       = 0x80300000           // pcre2_compile.c:272:1:
  1177  	DMETA_SKIP_ARG                                   = 0x80310000           // pcre2_compile.c:273:1:
  1178  	DMETA_THEN                                       = 0x80320000           // pcre2_compile.c:274:1:
  1179  	DMETA_THEN_ARG                                   = 0x80330000           // pcre2_compile.c:275:1:
  1180  	DNAMED_GROUP_LIST_SIZE                           = 20                   // pcre2_compile.c:187:1:
  1181  	DNSF_ATOMICSR                                    = 0x0004               // pcre2_compile.c:2565:1:
  1182  	DNSF_CONDASSERT                                  = 0x0002               // pcre2_compile.c:2564:1:
  1183  	DNSF_RESET                                       = 0x0001               // pcre2_compile.c:2563:1:
  1184  	DOFLOW_MAX                                       = 2147483627           // pcre2_compile.c:200:1:
  1185  	DPARSED_PATTERN_DEFAULT_SIZE                     = 1024                 // pcre2_compile.c:193:1:
  1186  	DPARSE_TRACKED_OPTIONS                           = 17048808             // pcre2_compile.c:2572:1:
  1187  	DPC_GRAPH                                        = 8                    // pcre2_compile.c:709:1:
  1188  	DPC_PRINT                                        = 9                    // pcre2_compile.c:710:1:
  1189  	DPC_PUNCT                                        = 10                   // pcre2_compile.c:711:1:
  1190  	DPUBLIC_COMPILE_EXTRA_OPTIONS                    = 127                  // pcre2_compile.c:784:1:
  1191  	DPUBLIC_COMPILE_OPTIONS                          = 3892314111           // pcre2_compile.c:772:1:
  1192  	DPUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS            = 12                   // pcre2_compile.c:781:1:
  1193  	DPUBLIC_LITERAL_COMPILE_OPTIONS                  = 3867738380           // pcre2_compile.c:767:1:
  1194  	DREPEAT_UNLIMITED                                = 65536                // pcre2_compile.c:149:1:
  1195  	DREQ_CASELESS                                    = 0x00000001           // pcre2_compile.c:395:1:
  1196  	DREQ_NONE                                        = 0xfffffffe           // pcre2_compile.c:394:1:
  1197  	DREQ_UNSET                                       = 0xffffffff           // pcre2_compile.c:393:1:
  1198  	DREQ_VARY                                        = 0x00000002           // pcre2_compile.c:396:1:
  1199  	DRSCAN_CACHE_SIZE                                = 8                    // pcre2_compile.c:10359:1:
  1200  	DSIZEOFFSET                                      = 2                    // pcre2_compile.c:108:1:
  1201  	DWORK_SIZE_SAFETY_MARGIN                         = 100                  // pcre2_compile.c:180:1:
  1202  	DALL_OPTIONS                                     = 127                  // pcre2_convert.c:51:1:
  1203  	DDUMMY_BUFFER_SIZE                               = 100                  // pcre2_convert.c:56:1:
  1204  	DTYPE_OPTIONS                                    = 28                   // pcre2_convert.c:48:1:
  1205  	DOP_ANYNL_EXTRA                                  = 340                  // pcre2_dfa_match.c:103:1:
  1206  	DOP_EXTUNI_EXTRA                                 = 320                  // pcre2_dfa_match.c:102:1:
  1207  	DOP_HSPACE_EXTRA                                 = 360                  // pcre2_dfa_match.c:104:1:
  1208  	DOP_PROP_EXTRA                                   = 300                  // pcre2_dfa_match.c:101:1:
  1209  	DOP_VSPACE_EXTRA                                 = 380                  // pcre2_dfa_match.c:105:1:
  1210  	DPUBLIC_DFA_MATCH_OPTIONS                        = 3758113023           // pcre2_dfa_match.c:85:1:
  1211  	DRWS_RSIZE                                       = 1000                 // pcre2_dfa_match.c:318:1:
  1212  	DINCLUDED_FROM_PCRE2_JIT_COMPILE                 = 0                    // pcre2_jit_compile.c:14504:1:
  1213  	DPUBLIC_JIT_COMPILE_OPTIONS                      = 263                  // pcre2_jit_compile.c:14378:1:
  1214  	DGF_CAPTURE                                      = 0x00010000           // pcre2_match.c:106:1:
  1215  	DGF_CONDASSERT                                   = 0x00030000           // pcre2_match.c:108:1:
  1216  	DGF_NOCAPTURE                                    = 0x00020000           // pcre2_match.c:107:1:
  1217  	DGF_RECURSE                                      = 0x00040000           // pcre2_match.c:109:1:
  1218  	DMATCH_ACCEPT                                    = -999                 // pcre2_match.c:88:1:
  1219  	DMATCH_BACKTRACK_MAX                             = -993                 // pcre2_match.c:97:1:
  1220  	DMATCH_BACKTRACK_MIN                             = -997                 // pcre2_match.c:98:1:
  1221  	DMATCH_COMMIT                                    = -997                 // pcre2_match.c:92:1:
  1222  	DMATCH_KETRPOS                                   = -998                 // pcre2_match.c:89:1:
  1223  	DMATCH_MATCH                                     = 1                    // pcre2_match.c:82:1:
  1224  	DMATCH_NOMATCH                                   = 0                    // pcre2_match.c:83:1:
  1225  	DMATCH_PRUNE                                     = -996                 // pcre2_match.c:93:1:
  1226  	DMATCH_SKIP                                      = -995                 // pcre2_match.c:94:1:
  1227  	DMATCH_SKIP_ARG                                  = -994                 // pcre2_match.c:95:1:
  1228  	DMATCH_THEN                                      = -993                 // pcre2_match.c:96:1:
  1229  	DPUBLIC_JIT_MATCH_OPTIONS                        = 1073758271           // pcre2_match.c:74:1:
  1230  	DPUBLIC_MATCH_OPTIONS                            = 3758121023           // pcre2_match.c:69:1:
  1231  	DRECURSE_UNSET                                   = 0xffffffff           // pcre2_match.c:65:1:
  1232  	DFOUND_BOPOMOFO                                  = 1                    // pcre2_script_run.c:199:1:
  1233  	DFOUND_HANGUL                                    = 8                    // pcre2_script_run.c:202:1:
  1234  	DFOUND_HIRAGANA                                  = 2                    // pcre2_script_run.c:200:1:
  1235  	DFOUND_KATAKANA                                  = 4                    // pcre2_script_run.c:201:1:
  1236  	DSERIALIZED_DATA_MAGIC                           = 0x50523253           // pcre2_serialize.c:54:1:
  1237  	DSERIALIZED_DATA_VERSION                         = 2621450              // pcre2_serialize.c:59:1:
  1238  	DMAX_CACHE_BACKREF                               = 128                  // pcre2_study.c:53:1:
  1239  	DPTR_STACK_SIZE                                  = 20                   // pcre2_substitute.c:48:1:
  1240  	DSUBSTITUTE_OPTIONS                              = 237312               // pcre2_substitute.c:50:1:
  1241  )
  1242  
  1243  // Seconds since the Epoch, visible to user code when time_t is too
  1244  //    narrow only for consistency with the old way of widening too-narrow
  1245  //    types.  User code should never use __time64_t.
  1246  
  1247  // These are all the characteristics of characters.
  1248  //    If there get to be more than 16 distinct characteristics,
  1249  //    many things must be changed that use `unsigned short int's.
  1250  //
  1251  //    The characteristics are stored always in network byte order (big
  1252  //    endian).  We define the bit value interpretations here dependent on the
  1253  //    machine's byte order.
  1254  
  1255  // Endian macros for string.h functions
  1256  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  1257  //    This file is part of the GNU C Library.
  1258  //
  1259  //    The GNU C Library is free software; you can redistribute it and/or
  1260  //    modify it under the terms of the GNU Lesser General Public
  1261  //    License as published by the Free Software Foundation; either
  1262  //    version 2.1 of the License, or (at your option) any later version.
  1263  //
  1264  //    The GNU C Library is distributed in the hope that it will be useful,
  1265  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1266  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1267  //    Lesser General Public License for more details.
  1268  //
  1269  //    You should have received a copy of the GNU Lesser General Public
  1270  //    License along with the GNU C Library; if not, see
  1271  //    <http://www.gnu.org/licenses/>.
  1272  
  1273  // Definitions for byte order, according to significance of bytes,
  1274  //    from low addresses to high addresses.  The value is what you get by
  1275  //    putting '4' in the most significant byte, '3' in the second most
  1276  //    significant byte, '2' in the second least significant byte, and '1'
  1277  //    in the least significant byte, and then writing down one digit for
  1278  //    each byte, starting with the byte at the lowest address at the left,
  1279  //    and proceeding to the byte with the highest address at the right.
  1280  
  1281  // This file defines `__BYTE_ORDER' for the particular machine.
  1282  
  1283  // i386/x86_64 are little-endian.
  1284  
  1285  // Some machines may need to use a different endianness for floating point
  1286  //    values.
  1287  
  1288  const ( /* ctype.h:46:1: */
  1289  	_ISupper  = 256   // UPPERCASE.
  1290  	_ISlower  = 512   // lowercase.
  1291  	_ISalpha  = 1024  // Alphabetic.
  1292  	_ISdigit  = 2048  // Numeric.
  1293  	_ISxdigit = 4096  // Hexadecimal numeric.
  1294  	_ISspace  = 8192  // Whitespace.
  1295  	_ISprint  = 16384 // Printing.
  1296  	_ISgraph  = 32768 // Graphical.
  1297  	_ISblank  = 1     // Blank (usually SPC and TAB).
  1298  	_IScntrl  = 2     // Control character.
  1299  	_ISpunct  = 4     // Punctuation.
  1300  	_ISalnum  = 8
  1301  )
  1302  
  1303  // Options that are changeable within the pattern must be tracked during
  1304  // parsing. Some (e.g. PCRE2_EXTENDED) are implemented entirely during parsing,
  1305  // but all must be tracked so that META_OPTIONS items set the correct values for
  1306  // the main compiling phase.
  1307  
  1308  // States used for analyzing ranges in character classes. The two OK values
  1309  // must be last.
  1310  
  1311  const ( /* pcre2_compile.c:2579:1: */
  1312  	RANGE_NO         = 0
  1313  	RANGE_OK_ESCAPED = 2
  1314  	RANGE_OK_LITERAL = 3
  1315  )
  1316  
  1317  // Types for skipping parts of a parsed pattern.
  1318  
  1319  const ( /* pcre2_compile.c:375:1: */
  1320  	PSKIP_ALT   = 0
  1321  	PSKIP_CLASS = 1
  1322  	PSKIP_KET   = 2
  1323  )
  1324  
  1325  // Masks for checking option settings. When PCRE2_LITERAL is set, only a subset
  1326  // are allowed.
  1327  
  1328  // Compile time error code numbers. They are given names so that they can more
  1329  // easily be tracked. When a new number is added, the tables called eint1 and
  1330  // eint2 in pcre2posix.c may need to be updated, and a new error text must be
  1331  // added to compile_error_texts in pcre2_error.c. Also, the error codes in
  1332  // pcre2.h.in must be updated - their values are exactly 100 greater than these
  1333  // values.
  1334  
  1335  const ( /* pcre2_compile.c:797:1: */
  1336  	ERR0  = 100
  1337  	ERR1  = 101
  1338  	ERR2  = 102
  1339  	ERR3  = 103
  1340  	ERR4  = 104
  1341  	ERR5  = 105
  1342  	ERR6  = 106
  1343  	ERR7  = 107
  1344  	ERR8  = 108
  1345  	ERR9  = 109
  1346  	ERR10 = 110
  1347  	ERR11 = 111
  1348  	ERR12 = 112
  1349  	ERR13 = 113
  1350  	ERR14 = 114
  1351  	ERR15 = 115
  1352  	ERR16 = 116
  1353  	ERR17 = 117
  1354  	ERR18 = 118
  1355  	ERR19 = 119
  1356  	ERR20 = 120
  1357  	ERR21 = 121
  1358  	ERR22 = 122
  1359  	ERR23 = 123
  1360  	ERR24 = 124
  1361  	ERR25 = 125
  1362  	ERR26 = 126
  1363  	ERR27 = 127
  1364  	ERR28 = 128
  1365  	ERR29 = 129
  1366  	ERR30 = 130
  1367  	ERR31 = 131
  1368  	ERR32 = 132
  1369  	ERR33 = 133
  1370  	ERR34 = 134
  1371  	ERR35 = 135
  1372  	ERR36 = 136
  1373  	ERR37 = 137
  1374  	ERR38 = 138
  1375  	ERR39 = 139
  1376  	ERR40 = 140
  1377  	ERR41 = 141
  1378  	ERR42 = 142
  1379  	ERR43 = 143
  1380  	ERR44 = 144
  1381  	ERR45 = 145
  1382  	ERR46 = 146
  1383  	ERR47 = 147
  1384  	ERR48 = 148
  1385  	ERR49 = 149
  1386  	ERR50 = 150
  1387  	ERR51 = 151
  1388  	ERR52 = 152
  1389  	ERR53 = 153
  1390  	ERR54 = 154
  1391  	ERR55 = 155
  1392  	ERR56 = 156
  1393  	ERR57 = 157
  1394  	ERR58 = 158
  1395  	ERR59 = 159
  1396  	ERR60 = 160
  1397  	ERR61 = 161
  1398  	ERR62 = 162
  1399  	ERR63 = 163
  1400  	ERR64 = 164
  1401  	ERR65 = 165
  1402  	ERR66 = 166
  1403  	ERR67 = 167
  1404  	ERR68 = 168
  1405  	ERR69 = 169
  1406  	ERR70 = 170
  1407  	ERR71 = 171
  1408  	ERR72 = 172
  1409  	ERR73 = 173
  1410  	ERR74 = 174
  1411  	ERR75 = 175
  1412  	ERR76 = 176
  1413  	ERR77 = 177
  1414  	ERR78 = 178
  1415  	ERR79 = 179
  1416  	ERR80 = 180
  1417  	ERR81 = 181
  1418  	ERR82 = 182
  1419  	ERR83 = 183
  1420  	ERR84 = 184
  1421  	ERR85 = 185
  1422  	ERR86 = 186
  1423  	ERR87 = 187
  1424  	ERR88 = 188
  1425  	ERR89 = 189
  1426  	ERR90 = 190
  1427  	ERR91 = 191
  1428  	ERR92 = 192
  1429  	ERR93 = 193
  1430  	ERR94 = 194
  1431  	ERR95 = 195
  1432  	ERR96 = 196
  1433  	ERR97 = 197
  1434  	ERR98 = 198
  1435  	ERR99 = 199
  1436  )
  1437  
  1438  // This is a table of start-of-pattern options such as (*UTF) and settings such
  1439  // as (*LIMIT_MATCH=nnnn) and (*CRLF). For completeness and backward
  1440  // compatibility, (*UTFn) is supported in the relevant libraries, but (*UTF) is
  1441  // generic and always supported.
  1442  
  1443  const ( /* pcre2_compile.c:814:1: */
  1444  	PSO_OPT  = 0 // Value is an option bit
  1445  	PSO_FLG  = 1 // Value is a flag bit
  1446  	PSO_NL   = 2 // Value is a newline type
  1447  	PSO_BSR  = 3 // Value is a \R type
  1448  	PSO_LIMH = 4 // Read integer value for heap limit
  1449  	PSO_LIMM = 5 // Read integer value for match limit
  1450  	PSO_LIMD = 6
  1451  )
  1452  
  1453  // This function is needed only when memmove() is not available.
  1454  
  1455  // End of pcre2_internal.h
  1456  
  1457  // Generated pattern fragments
  1458  
  1459  // States for range and POSIX processing
  1460  
  1461  const ( /* pcre2_convert.c:70:1: */
  1462  	RANGE_NOT_STARTED = 0
  1463  	RANGE_STARTING    = 1
  1464  )
  1465  const ( /* pcre2_convert.c:71:1: */
  1466  	POSIX_START_REGEX       = 0
  1467  	POSIX_ANCHORED          = 1
  1468  	POSIX_NOT_BRACKET       = 2
  1469  	POSIX_CLASS_NOT_STARTED = 3
  1470  	POSIX_CLASS_STARTING    = 4
  1471  	POSIX_CLASS_STARTED     = 5
  1472  ) // pcre2_jit_match()
  1473  
  1474  // Values for the flags field in a match data block.
  1475  
  1476  // Magic number to provide a small check against being handed junk.
  1477  
  1478  // The maximum remaining length of subject we are prepared to search for a
  1479  // req_unit match from an anchored pattern. In 8-bit mode, memchr() is used and is
  1480  // much faster than the search loop that has to be used in 16-bit and 32-bit
  1481  // modes.
  1482  
  1483  // Offsets for the bitmap tables in the cbits set of tables. Each table
  1484  // contains a set of bits for a class map. Some classes are built by combining
  1485  // these tables.
  1486  
  1487  // Bit definitions for entries in the ctypes table. Do not change these values
  1488  // without checking pcre2_jit_compile.c, which has an assertion to ensure that
  1489  // ctype_word has the value 16.
  1490  
  1491  // Offsets of the various tables from the base tables pointer, and
  1492  // total length of the tables.
  1493  
  1494  // -------------------- Character and string names ------------------------
  1495  
  1496  // If PCRE2 is to support UTF-8 on EBCDIC platforms, we cannot use normal
  1497  // character constants like '*' because the compiler would emit their EBCDIC code,
  1498  // which is different from their ASCII/UTF-8 code. Instead we define macros for
  1499  // the characters so that they always use the ASCII/UTF-8 code when UTF-8 support
  1500  // is enabled. When UTF-8 support is not enabled, the definitions use character
  1501  // literals. Both character and string versions of each character are needed, and
  1502  // there are some longer strings as well.
  1503  //
  1504  // This means that, on EBCDIC platforms, the PCRE2 library can handle either
  1505  // EBCDIC, or UTF-8, but not both. To support both in the same compiled library
  1506  // would need different lookups depending on whether PCRE2_UTF was set or not.
  1507  // This would make it impossible to use characters in switch/case statements,
  1508  // which would reduce performance. For a theoretical use (which nobody has asked
  1509  // for) in a minority area (EBCDIC platforms), this is not sensible. Any
  1510  // application that did need both could compile two versions of the library, using
  1511  // macros to give the functions distinct names.
  1512  
  1513  // UTF-8 support is enabled; always use UTF-8 (=ASCII) character codes. This
  1514  // works in both modes non-EBCDIC platforms, and on EBCDIC platforms in UTF-8 mode
  1515  // only.
  1516  
  1517  // -------------------- End of character and string names -------------------
  1518  
  1519  // -------------------- Definitions for compiled patterns -------------------
  1520  
  1521  // Codes for different types of Unicode property. If these definitions are
  1522  // changed, the autopossessifying table in pcre2_auto_possess.c must be updated to
  1523  // match.
  1524  
  1525  // The following special properties are used only in XCLASS items, when POSIX
  1526  // classes are specified and PCRE2_UCP is set - in other words, for Unicode
  1527  // handling of these classes. They are not available via the \p or \P escapes like
  1528  // those in the above list, and so they do not take part in the autopossessifying
  1529  // table.
  1530  
  1531  // This value is used when parsing \p and \P escapes to indicate that neither
  1532  // \p{script:...} nor \p{scx:...} has been encountered.
  1533  
  1534  // Flag bits and data types for the extended class (OP_XCLASS) for classes that
  1535  // contain characters with values greater than 255.
  1536  
  1537  // These are escaped items that aren't just an encoding of a particular data
  1538  // value such as \n. They must have non-zero values, as check_escape() returns 0
  1539  // for a data character. In the escapes[] table in pcre2_compile.c their values
  1540  // are negated in order to distinguish them from data values.
  1541  //
  1542  // They must appear here in the same order as in the opcode definitions below, up
  1543  // to ESC_z. There's a dummy for OP_ALLANY because it corresponds to "." in DOTALL
  1544  // mode rather than an escape sequence. It is also used for [^] in JavaScript
  1545  // compatibility mode, and for \C in non-utf mode. In non-DOTALL mode, "." behaves
  1546  // like \N.
  1547  //
  1548  // Negative numbers are used to encode a backreference (\1, \2, \3, etc.) in
  1549  // check_escape(). There are tests in the code for an escape greater than ESC_b
  1550  // and less than ESC_Z to detect the types that may be repeated. These are the
  1551  // types that consume characters. If any new escapes are put in between that don't
  1552  // consume a character, that code will have to change.
  1553  
  1554  const ( /* pcre2_internal.h:1337:1: */
  1555  	ESC_A   = 1
  1556  	ESC_G   = 2
  1557  	ESC_K   = 3
  1558  	ESC_B   = 4
  1559  	ESC_b   = 5
  1560  	ESC_D   = 6
  1561  	ESC_d   = 7
  1562  	ESC_S   = 8
  1563  	ESC_s   = 9
  1564  	ESC_W   = 10
  1565  	ESC_w   = 11
  1566  	ESC_N   = 12
  1567  	ESC_dum = 13
  1568  	ESC_C   = 14
  1569  	ESC_P   = 15
  1570  	ESC_p   = 16
  1571  	ESC_R   = 17
  1572  	ESC_H   = 18
  1573  	ESC_h   = 19
  1574  	ESC_V   = 20
  1575  	ESC_v   = 21
  1576  	ESC_X   = 22
  1577  	ESC_Z   = 23
  1578  	ESC_z   = 24
  1579  	ESC_E   = 25
  1580  	ESC_Q   = 26
  1581  	ESC_g   = 27
  1582  	ESC_k   = 28
  1583  )
  1584  
  1585  //********************* Opcode definitions *****************
  1586  
  1587  //***** NOTE NOTE NOTE ******
  1588  //
  1589  // Starting from 1 (i.e. after OP_END), the values up to OP_EOD must correspond in
  1590  // order to the list of escapes immediately above. Furthermore, values up to
  1591  // OP_DOLLM must not be changed without adjusting the table called autoposstab in
  1592  // pcre2_auto_possess.c.
  1593  //
  1594  // Whenever this list is updated, the two macro definitions that follow must be
  1595  // updated to match. The possessification table called "opcode_possessify" in
  1596  // pcre2_compile.c must also be updated, and also the tables called "coptable"
  1597  // and "poptable" in pcre2_dfa_match.c.
  1598  //
  1599  // ****** NOTE NOTE NOTE *****
  1600  
  1601  // The values between FIRST_AUTOTAB_OP and LAST_AUTOTAB_RIGHT_OP, inclusive,
  1602  // are used in a table for deciding whether a repeated character type can be
  1603  // auto-possessified.
  1604  
  1605  const ( /* pcre2_internal.h:1368:1: */
  1606  	OP_END = 0 // 0 End of pattern
  1607  
  1608  	// Values corresponding to backslashed metacharacters
  1609  
  1610  	OP_SOD               = 1  // 1 Start of data: \A
  1611  	OP_SOM               = 2  // 2 Start of match (subject + offset): \G
  1612  	OP_SET_SOM           = 3  // 3 Set start of match (\K)
  1613  	OP_NOT_WORD_BOUNDARY = 4  //  4 \B
  1614  	OP_WORD_BOUNDARY     = 5  //  5 \b
  1615  	OP_NOT_DIGIT         = 6  //  6 \D
  1616  	OP_DIGIT             = 7  //  7 \d
  1617  	OP_NOT_WHITESPACE    = 8  //  8 \S
  1618  	OP_WHITESPACE        = 9  //  9 \s
  1619  	OP_NOT_WORDCHAR      = 10 // 10 \W
  1620  	OP_WORDCHAR          = 11 // 11 \w
  1621  
  1622  	OP_ANY        = 12 // 12 Match any character except newline (\N)
  1623  	OP_ALLANY     = 13 // 13 Match any character
  1624  	OP_ANYBYTE    = 14 // 14 Match any byte (\C); different to OP_ANY for UTF-8
  1625  	OP_NOTPROP    = 15 // 15 \P (not Unicode property)
  1626  	OP_PROP       = 16 // 16 \p (Unicode property)
  1627  	OP_ANYNL      = 17 // 17 \R (any newline sequence)
  1628  	OP_NOT_HSPACE = 18 // 18 \H (not horizontal whitespace)
  1629  	OP_HSPACE     = 19 // 19 \h (horizontal whitespace)
  1630  	OP_NOT_VSPACE = 20 // 20 \V (not vertical whitespace)
  1631  	OP_VSPACE     = 21 // 21 \v (vertical whitespace)
  1632  	OP_EXTUNI     = 22 // 22 \X (extended Unicode sequence
  1633  	OP_EODN       = 23 // 23 End of data or \n at end of data (\Z)
  1634  	OP_EOD        = 24 // 24 End of data (\z)
  1635  
  1636  	// Line end assertions
  1637  
  1638  	OP_DOLL  = 25 // 25 End of line - not multiline
  1639  	OP_DOLLM = 26 // 26 End of line - multiline
  1640  	OP_CIRC  = 27 // 27 Start of line - not multiline
  1641  	OP_CIRCM = 28 // 28 Start of line - multiline
  1642  
  1643  	// Single characters; caseful must precede the caseless ones, and these
  1644  	//   must remain in this order, and adjacent.
  1645  
  1646  	OP_CHAR  = 29 // 29 Match one character, casefully
  1647  	OP_CHARI = 30 // 30 Match one character, caselessly
  1648  	OP_NOT   = 31 // 31 Match one character, not the given one, casefully
  1649  	OP_NOTI  = 32 // 32 Match one character, not the given one, caselessly
  1650  
  1651  	// The following sets of 13 opcodes must always be kept in step because
  1652  	//   the offset from the first one is used to generate the others.
  1653  
  1654  	// Repeated characters; caseful must precede the caseless ones
  1655  
  1656  	OP_STAR     = 33 // 33 The maximizing and minimizing versions of
  1657  	OP_MINSTAR  = 34 // 34 these six opcodes must come in pairs, with
  1658  	OP_PLUS     = 35 // 35 the minimizing one second.
  1659  	OP_MINPLUS  = 36 // 36
  1660  	OP_QUERY    = 37 // 37
  1661  	OP_MINQUERY = 38 // 38
  1662  
  1663  	OP_UPTO    = 39 // 39 From 0 to n matches of one character, caseful
  1664  	OP_MINUPTO = 40 // 40
  1665  	OP_EXACT   = 41 // 41 Exactly n matches
  1666  
  1667  	OP_POSSTAR  = 42 // 42 Possessified star, caseful
  1668  	OP_POSPLUS  = 43 // 43 Possessified plus, caseful
  1669  	OP_POSQUERY = 44 // 44 Posesssified query, caseful
  1670  	OP_POSUPTO  = 45 // 45 Possessified upto, caseful
  1671  
  1672  	// Repeated characters; caseless must follow the caseful ones
  1673  
  1674  	OP_STARI     = 46 // 46
  1675  	OP_MINSTARI  = 47 // 47
  1676  	OP_PLUSI     = 48 // 48
  1677  	OP_MINPLUSI  = 49 // 49
  1678  	OP_QUERYI    = 50 // 50
  1679  	OP_MINQUERYI = 51 // 51
  1680  
  1681  	OP_UPTOI    = 52 // 52 From 0 to n matches of one character, caseless
  1682  	OP_MINUPTOI = 53 // 53
  1683  	OP_EXACTI   = 54 // 54
  1684  
  1685  	OP_POSSTARI  = 55 // 55 Possessified star, caseless
  1686  	OP_POSPLUSI  = 56 // 56 Possessified plus, caseless
  1687  	OP_POSQUERYI = 57 // 57 Posesssified query, caseless
  1688  	OP_POSUPTOI  = 58 // 58 Possessified upto, caseless
  1689  
  1690  	// The negated ones must follow the non-negated ones, and match them
  1691  	// Negated repeated character, caseful; must precede the caseless ones
  1692  
  1693  	OP_NOTSTAR     = 59 // 59 The maximizing and minimizing versions of
  1694  	OP_NOTMINSTAR  = 60 // 60 these six opcodes must come in pairs, with
  1695  	OP_NOTPLUS     = 61 // 61 the minimizing one second. They must be in
  1696  	OP_NOTMINPLUS  = 62 // 62 exactly the same order as those above.
  1697  	OP_NOTQUERY    = 63 // 63
  1698  	OP_NOTMINQUERY = 64 // 64
  1699  
  1700  	OP_NOTUPTO    = 65 // 65 From 0 to n matches, caseful
  1701  	OP_NOTMINUPTO = 66 // 66
  1702  	OP_NOTEXACT   = 67 // 67 Exactly n matches
  1703  
  1704  	OP_NOTPOSSTAR  = 68 // 68 Possessified versions, caseful
  1705  	OP_NOTPOSPLUS  = 69 // 69
  1706  	OP_NOTPOSQUERY = 70 // 70
  1707  	OP_NOTPOSUPTO  = 71 // 71
  1708  
  1709  	// Negated repeated character, caseless; must follow the caseful ones
  1710  
  1711  	OP_NOTSTARI     = 72 // 72
  1712  	OP_NOTMINSTARI  = 73 // 73
  1713  	OP_NOTPLUSI     = 74 // 74
  1714  	OP_NOTMINPLUSI  = 75 // 75
  1715  	OP_NOTQUERYI    = 76 // 76
  1716  	OP_NOTMINQUERYI = 77 // 77
  1717  
  1718  	OP_NOTUPTOI    = 78 // 78 From 0 to n matches, caseless
  1719  	OP_NOTMINUPTOI = 79 // 79
  1720  	OP_NOTEXACTI   = 80 // 80 Exactly n matches
  1721  
  1722  	OP_NOTPOSSTARI  = 81 // 81 Possessified versions, caseless
  1723  	OP_NOTPOSPLUSI  = 82 // 82
  1724  	OP_NOTPOSQUERYI = 83 // 83
  1725  	OP_NOTPOSUPTOI  = 84 // 84
  1726  
  1727  	// Character types
  1728  
  1729  	OP_TYPESTAR     = 85 // 85 The maximizing and minimizing versions of
  1730  	OP_TYPEMINSTAR  = 86 // 86 these six opcodes must come in pairs, with
  1731  	OP_TYPEPLUS     = 87 // 87 the minimizing one second. These codes must
  1732  	OP_TYPEMINPLUS  = 88 // 88 be in exactly the same order as those above.
  1733  	OP_TYPEQUERY    = 89 // 89
  1734  	OP_TYPEMINQUERY = 90 // 90
  1735  
  1736  	OP_TYPEUPTO    = 91 // 91 From 0 to n matches
  1737  	OP_TYPEMINUPTO = 92 // 92
  1738  	OP_TYPEEXACT   = 93 // 93 Exactly n matches
  1739  
  1740  	OP_TYPEPOSSTAR  = 94 // 94 Possessified versions
  1741  	OP_TYPEPOSPLUS  = 95 // 95
  1742  	OP_TYPEPOSQUERY = 96 // 96
  1743  	OP_TYPEPOSUPTO  = 97 // 97
  1744  
  1745  	// These are used for character classes and back references; only the
  1746  	//   first six are the same as the sets above.
  1747  
  1748  	OP_CRSTAR     = 98  // 98 The maximizing and minimizing versions of
  1749  	OP_CRMINSTAR  = 99  // 99 all these opcodes must come in pairs, with
  1750  	OP_CRPLUS     = 100 // 100 the minimizing one second. These codes must
  1751  	OP_CRMINPLUS  = 101 // 101 be in exactly the same order as those above.
  1752  	OP_CRQUERY    = 102 // 102
  1753  	OP_CRMINQUERY = 103 // 103
  1754  
  1755  	OP_CRRANGE    = 104 // 104 These are different to the three sets above.
  1756  	OP_CRMINRANGE = 105 // 105
  1757  
  1758  	OP_CRPOSSTAR  = 106 // 106 Possessified versions
  1759  	OP_CRPOSPLUS  = 107 // 107
  1760  	OP_CRPOSQUERY = 108 // 108
  1761  	OP_CRPOSRANGE = 109 // 109
  1762  
  1763  	// End of quantifier opcodes
  1764  
  1765  	OP_CLASS  = 110 // 110 Match a character class, chars < 256 only
  1766  	OP_NCLASS = 111 // 111 Same, but the bitmap was created from a negative
  1767  	//                               class - the difference is relevant only when a
  1768  	//                               character > 255 is encountered.
  1769  	OP_XCLASS = 112 // 112 Extended class for handling > 255 chars within the
  1770  	//                               class. This does both positive and negative.
  1771  	OP_REF         = 113 // 113 Match a back reference, casefully
  1772  	OP_REFI        = 114 // 114 Match a back reference, caselessly
  1773  	OP_DNREF       = 115 // 115 Match a duplicate name backref, casefully
  1774  	OP_DNREFI      = 116 // 116 Match a duplicate name backref, caselessly
  1775  	OP_RECURSE     = 117 // 117 Match a numbered subpattern (possibly recursive)
  1776  	OP_CALLOUT     = 118 // 118 Call out to external function if provided
  1777  	OP_CALLOUT_STR = 119 // 119 Call out with string argument
  1778  
  1779  	OP_ALT     = 120 // 120 Start of alternation
  1780  	OP_KET     = 121 // 121 End of group that doesn't have an unbounded repeat
  1781  	OP_KETRMAX = 122 // 122 These two must remain together and in this
  1782  	OP_KETRMIN = 123 // 123 order. They are for groups the repeat for ever.
  1783  	OP_KETRPOS = 124 // 124 Possessive unlimited repeat.
  1784  
  1785  	// The assertions must come before BRA, CBRA, ONCE, and COND.
  1786  
  1787  	OP_REVERSE        = 125 // 125 Move pointer back - used in lookbehind assertions
  1788  	OP_ASSERT         = 126 // 126 Positive lookahead
  1789  	OP_ASSERT_NOT     = 127 // 127 Negative lookahead
  1790  	OP_ASSERTBACK     = 128 // 128 Positive lookbehind
  1791  	OP_ASSERTBACK_NOT = 129 // 129 Negative lookbehind
  1792  	OP_ASSERT_NA      = 130 // 130 Positive non-atomic lookahead
  1793  	OP_ASSERTBACK_NA  = 131 // 131 Positive non-atomic lookbehind
  1794  
  1795  	// ONCE, SCRIPT_RUN, BRA, BRAPOS, CBRA, CBRAPOS, and COND must come
  1796  	//   immediately after the assertions, with ONCE first, as there's a test for >=
  1797  	//   ONCE for a subpattern that isn't an assertion. The POS versions must
  1798  	//   immediately follow the non-POS versions in each case.
  1799  
  1800  	OP_ONCE       = 132 // 132 Atomic group, contains captures
  1801  	OP_SCRIPT_RUN = 133 // 133 Non-capture, but check characters' scripts
  1802  	OP_BRA        = 134 // 134 Start of non-capturing bracket
  1803  	OP_BRAPOS     = 135 // 135 Ditto, with unlimited, possessive repeat
  1804  	OP_CBRA       = 136 // 136 Start of capturing bracket
  1805  	OP_CBRAPOS    = 137 // 137 Ditto, with unlimited, possessive repeat
  1806  	OP_COND       = 138 // 138 Conditional group
  1807  
  1808  	// These five must follow the previous five, in the same order. There's a
  1809  	//   check for >= SBRA to distinguish the two sets.
  1810  
  1811  	OP_SBRA     = 139 // 139 Start of non-capturing bracket, check empty
  1812  	OP_SBRAPOS  = 140 // 149 Ditto, with unlimited, possessive repeat
  1813  	OP_SCBRA    = 141 // 141 Start of capturing bracket, check empty
  1814  	OP_SCBRAPOS = 142 // 142 Ditto, with unlimited, possessive repeat
  1815  	OP_SCOND    = 143 // 143 Conditional group, check empty
  1816  
  1817  	// The next two pairs must (respectively) be kept together.
  1818  
  1819  	OP_CREF   = 144 // 144 Used to hold a capture number as condition
  1820  	OP_DNCREF = 145 // 145 Used to point to duplicate names as a condition
  1821  	OP_RREF   = 146 // 146 Used to hold a recursion number as condition
  1822  	OP_DNRREF = 147 // 147 Used to point to duplicate names as a condition
  1823  	OP_FALSE  = 148 // 148 Always false (used by DEFINE and VERSION)
  1824  	OP_TRUE   = 149 // 149 Always true (used by VERSION)
  1825  
  1826  	OP_BRAZERO    = 150 // 150 These two must remain together and in this
  1827  	OP_BRAMINZERO = 151 // 151 order.
  1828  	OP_BRAPOSZERO = 152 // 152
  1829  
  1830  	// These are backtracking control verbs
  1831  
  1832  	OP_MARK       = 153 // 153 always has an argument
  1833  	OP_PRUNE      = 154 // 154
  1834  	OP_PRUNE_ARG  = 155 // 155 same, but with argument
  1835  	OP_SKIP       = 156 // 156
  1836  	OP_SKIP_ARG   = 157 // 157 same, but with argument
  1837  	OP_THEN       = 158 // 158
  1838  	OP_THEN_ARG   = 159 // 159 same, but with argument
  1839  	OP_COMMIT     = 160 // 160
  1840  	OP_COMMIT_ARG = 161 // 161 same, but with argument
  1841  
  1842  	// These are forced failure and success verbs. FAIL and ACCEPT do accept an
  1843  	//   argument, but these cases can be compiled as, for example, (*MARK:X)(*FAIL)
  1844  	//   without the need for a special opcode.
  1845  
  1846  	OP_FAIL          = 162 // 162
  1847  	OP_ACCEPT        = 163 // 163
  1848  	OP_ASSERT_ACCEPT = 164 // 164 Used inside assertions
  1849  	OP_CLOSE         = 165 // 165 Used before OP_ACCEPT to close open captures
  1850  
  1851  	// This is used to skip a subpattern with a {0} quantifier
  1852  
  1853  	OP_SKIPZERO = 166 // 166
  1854  
  1855  	// This is used to identify a DEFINE group during compilation so that it can
  1856  	//   be checked for having only one branch. It is changed to OP_FALSE before
  1857  	//   compilation finishes.
  1858  
  1859  	OP_DEFINE = 167 // 167
  1860  
  1861  	// This is not an opcode, but is used to check that tables indexed by opcode
  1862  	//   are the correct length, in order to catch updating errors - there have been
  1863  	//   some in the past.
  1864  
  1865  	OP_TABLE_LENGTH = 168
  1866  )
  1867  
  1868  // Size of entries in ucd_script_sets[]
  1869  
  1870  // End of pcre2_ucp.h
  1871  
  1872  // When PCRE2 is compiled as a C++ library, the subject pointer can be replaced
  1873  // with a custom type. This makes it possible, for example, to allow pcre2_match()
  1874  // to process subject strings that are discontinuous by using a smart pointer
  1875  // class. It must always be possible to inspect all of the subject string in
  1876  // pcre2_match() because of the way it backtracks.
  1877  
  1878  // WARNING: This is as yet untested for PCRE2.
  1879  
  1880  // When checking for integer overflow in pcre2_compile(), we need to handle
  1881  // large integers. If a 64-bit integer type is available, we can use that.
  1882  // Otherwise we have to cast to double, which of course requires floating point
  1883  // arithmetic. Handle this by defining a macro for the appropriate type.
  1884  
  1885  // External (in the C sense) functions and tables that are private to the
  1886  // libraries are always referenced using the PRIV macro. This makes it possible
  1887  // for pcre2test.c to include some of the source files from the libraries using a
  1888  // different PRIV definition to avoid name clashes. It also makes it clear in the
  1889  // code that a non-static object is being referenced.
  1890  
  1891  // When compiling for use with the Virtual Pascal compiler, these functions
  1892  // need to have their names changed. PCRE2 must be compiled with the -DVPCOMPAT
  1893  // option on the command line.
  1894  
  1895  // Otherwise, to cope with SunOS4 and other systems that lack memmove(), define
  1896  // a macro that calls an emulating function.
  1897  
  1898  // This is an unsigned int value that no UTF character can ever have, as
  1899  // Unicode doesn't go beyond 0x0010ffff.
  1900  
  1901  // This is the largest valid UTF/Unicode code point.
  1902  
  1903  // Compile-time positive error numbers (all except UTF errors, which are
  1904  // negative) start at this value. It should probably never be changed, in case
  1905  // some application is checking for specific numbers. There is a copy of this
  1906  // #define in pcre2posix.c (which now no longer includes this file). Ideally, a
  1907  // way of having a single definition should be found, but as the number is
  1908  // unlikely to change, this is not a pressing issue. The original reason for
  1909  // having a base other than 0 was to keep the absolute values of compile-time and
  1910  // run-time error numbers numerically different, but in the event the code does
  1911  // not rely on this.
  1912  
  1913  // The initial frames vector for remembering backtracking points in
  1914  // pcre2_match() is allocated on the system stack, of this size (bytes). The size
  1915  // must be a multiple of sizeof(PCRE2_SPTR) in all environments, so making it a
  1916  // multiple of 8 is best. Typical frame sizes are a few hundred bytes (it depends
  1917  // on the number of capturing parentheses) so 20KiB handles quite a few frames. A
  1918  // larger vector on the heap is obtained for patterns that need more frames. The
  1919  // maximum size of this can be limited.
  1920  
  1921  // Similarly, for DFA matching, an initial internal workspace vector is
  1922  // allocated on the stack.
  1923  
  1924  // Define the default BSR convention.
  1925  
  1926  // ---------------- Basic UTF-8 macros ----------------
  1927  
  1928  // These UTF-8 macros are always defined because they are used in pcre2test for
  1929  // handling wide characters in 16-bit and 32-bit modes, even if an 8-bit library
  1930  // is not supported.
  1931  
  1932  // Tests whether a UTF-8 code point needs extra bytes to decode.
  1933  
  1934  // The following macros were originally written in the form of loops that used
  1935  // data from the tables whose names start with PRIV(utf8_table). They were
  1936  // rewritten by a user so as not to use loops, because in some environments this
  1937  // gives a significant performance advantage, and it seems never to do any harm.
  1938  
  1939  // Base macro to pick up the remaining bytes of a UTF-8 character, not
  1940  // advancing the pointer.
  1941  
  1942  // Base macro to pick up the remaining bytes of a UTF-8 character, advancing
  1943  // the pointer.
  1944  
  1945  // Base macro to pick up the remaining bytes of a UTF-8 character, not
  1946  // advancing the pointer, incrementing the length.
  1947  
  1948  // --------------- Whitespace macros ----------------
  1949  
  1950  // Tests for Unicode horizontal and vertical whitespace characters must check a
  1951  // number of different values. Using a switch statement for this generates the
  1952  // fastest code (no loop, no memory access), and there are several places in the
  1953  // interpreter code where this happens. In order to ensure that all the case lists
  1954  // remain in step, we use macros so that there is only one place where the lists
  1955  // are defined.
  1956  //
  1957  // These values are also required as lists in pcre2_compile.c when processing \h,
  1958  // \H, \v and \V in a character class. The lists are defined in pcre2_tables.c,
  1959  // but macros that define the values are here so that all the definitions are
  1960  // together. The lists must be in ascending character order, terminated by
  1961  // NOTACHAR (which is 0xffffffff).
  1962  //
  1963  // Any changes should ensure that the various macros are kept in step with each
  1964  // other. NOTE: The values also appear in pcre2_jit_compile.c.
  1965  
  1966  // -------------- ASCII/Unicode environments --------------
  1967  
  1968  // Character U+180E (Mongolian Vowel Separator) is not included in the list of
  1969  // spaces in the Unicode file PropList.txt, and Perl does not recognize it as a
  1970  // space. However, in many other sources it is listed as a space and has been in
  1971  // PCRE (both APIs) for a long time.
  1972  
  1973  // -------------- EBCDIC environments --------------
  1974  
  1975  // -------------- End of whitespace macros --------------
  1976  
  1977  // PCRE2 is able to support several different kinds of newline (CR, LF, CRLF,
  1978  // "any" and "anycrlf" at present). The following macros are used to package up
  1979  // testing for newlines. NLBLOCK, PSSTART, and PSEND are defined in the various
  1980  // modules to indicate in which datablock the parameters exist, and what the
  1981  // start/end of string field names are.
  1982  
  1983  // This macro checks for a newline at the given position
  1984  
  1985  // This macro checks for a newline immediately preceding the given position
  1986  
  1987  // Private flags containing information about the compiled pattern. The first
  1988  // three must not be changed, because whichever is set is actually the number of
  1989  // bytes in a code unit in that mode.
  1990  
  1991  // Values for the matchedby field in a match data block.
  1992  
  1993  const ( /* pcre2_internal.h:537:1: */
  1994  	PCRE2_MATCHEDBY_INTERPRETER     = 0 // pcre2_match()
  1995  	PCRE2_MATCHEDBY_DFA_INTERPRETER = 1 // pcre2_dfa_match()
  1996  	PCRE2_MATCHEDBY_JIT             = 2
  1997  )
  1998  
  1999  // This function is needed only when memmove() is not available.
  2000  
  2001  // End of pcre2_internal.h
  2002  
  2003  // Masks for identifying the public options that are permitted at match time.
  2004  
  2005  // Non-error returns from and within the match() function. Error returns are
  2006  // externally defined PCRE2_ERROR_xxx codes, which are all negative.
  2007  
  2008  // Special internal returns used in the match() function. Make them
  2009  // sufficiently negative to avoid the external error codes.
  2010  
  2011  // The next 5 must be kept together and in sequence so that a test that checks
  2012  // for any one of them can use a range.
  2013  
  2014  // Group frame type values. Zero means the frame is not a group frame. The
  2015  // lower 16 bits are used for data (e.g. the capture number). Group frames are
  2016  // used for most groups so that information about the start is easily available at
  2017  // the end without having to scan back through intermediate frames (backtrack
  2018  // points).
  2019  
  2020  // Masks for the identity and data parts of the group frame type.
  2021  
  2022  // Repetition types
  2023  
  2024  const ( /* pcre2_match.c:118:1: */
  2025  	REPTYPE_MIN = 0
  2026  	REPTYPE_MAX = 1
  2027  	REPTYPE_POS = 2
  2028  ) // OP_CRPOSQUERY, OP_CRPOSRANGE
  2029  
  2030  // Numbers for RMATCH calls at backtracking points. When these lists are
  2031  // changed, the code at RETURN_SWITCH below must be updated in sync.
  2032  
  2033  const ( /* pcre2_match.c:150:1: */
  2034  	RM1  = 1
  2035  	RM2  = 2
  2036  	RM3  = 3
  2037  	RM4  = 4
  2038  	RM5  = 5
  2039  	RM6  = 6
  2040  	RM7  = 7
  2041  	RM8  = 8
  2042  	RM9  = 9
  2043  	RM10 = 10
  2044  	RM11 = 11
  2045  	RM12 = 12
  2046  	RM13 = 13
  2047  	RM14 = 14
  2048  	RM15 = 15
  2049  	RM16 = 16
  2050  	RM17 = 17
  2051  	RM18 = 18
  2052  	RM19 = 19
  2053  	RM20 = 20
  2054  	RM21 = 21
  2055  	RM22 = 22
  2056  	RM23 = 23
  2057  	RM24 = 24
  2058  	RM25 = 25
  2059  	RM26 = 26
  2060  	RM27 = 27
  2061  	RM28 = 28
  2062  	RM29 = 29
  2063  	RM30 = 30
  2064  	RM31 = 31
  2065  	RM32 = 32
  2066  	RM33 = 33
  2067  	RM34 = 34
  2068  	RM35 = 35
  2069  	RM36 = 36
  2070  )
  2071  
  2072  const ( /* pcre2_match.c:156:1: */
  2073  	RM100 = 100
  2074  	RM101 = 101
  2075  )
  2076  
  2077  const ( /* pcre2_match.c:160:1: */
  2078  	RM200 = 200
  2079  	RM201 = 201
  2080  	RM202 = 202
  2081  	RM203 = 203
  2082  	RM204 = 204
  2083  	RM205 = 205
  2084  	RM206 = 206
  2085  	RM207 = 207
  2086  	RM208 = 208
  2087  	RM209 = 209
  2088  	RM210 = 210
  2089  	RM211 = 211
  2090  	RM212 = 212
  2091  	RM213 = 213
  2092  	RM214 = 214
  2093  	RM215 = 215
  2094  	RM216 = 216
  2095  	RM217 = 217
  2096  	RM218 = 218
  2097  	RM219 = 219
  2098  	RM220 = 220
  2099  	RM221 = 221
  2100  	RM222 = 222
  2101  	RM223 = 223
  2102  	RM224 = 224
  2103  	RM225 = 225
  2104  )
  2105  
  2106  // This function is needed only when memmove() is not available.
  2107  
  2108  // End of pcre2_internal.h
  2109  
  2110  // ************************************************
  2111  //
  2112  //                Check script run                *
  2113  //
  2114  
  2115  // A script run is conceptually a sequence of characters all in the same
  2116  // Unicode script. However, it isn't quite that simple. There are special rules
  2117  // for scripts that are commonly used together, and also special rules for digits.
  2118  // This function implements the appropriate checks, which is possible only when
  2119  // PCRE2 is compiled with Unicode support. The function returns TRUE if there is
  2120  // no Unicode support; however, it should never be called in that circumstance
  2121  // because an error is given by pcre2_compile() if a script run is called for in a
  2122  // version of PCRE2 compiled without Unicode support.
  2123  //
  2124  // Arguments:
  2125  //   pgr       point to the first character
  2126  //   endptr    point after the last character
  2127  //   utf       TRUE if in UTF mode
  2128  //
  2129  // Returns:    TRUE if this is a valid script run
  2130  
  2131  // These are states in the checking process.
  2132  
  2133  const ( /* pcre2_script_run.c:73:1: */
  2134  	SCRIPT_UNSET       = 0 // Requirement as yet unknown
  2135  	SCRIPT_MAP         = 1 // Bitmap contains acceptable scripts
  2136  	SCRIPT_HANPENDING  = 2 // Have had only Han characters
  2137  	SCRIPT_HANHIRAKATA = 3 // Expect Han or Hirikata
  2138  	SCRIPT_HANBOPOMOFO = 4 // Expect Han or Bopomofo
  2139  	SCRIPT_HANHANGUL   = 5
  2140  )
  2141  
  2142  // This function is needed only when memmove() is not available.
  2143  
  2144  // End of pcre2_internal.h
  2145  
  2146  // The maximum remembered capturing brackets minimum.
  2147  
  2148  // Set a bit in the starting code unit bit map.
  2149  
  2150  // Returns from set_start_bits()
  2151  
  2152  const ( /* pcre2_study.c:61:1: */
  2153  	SSB_FAIL     = 0
  2154  	SSB_DONE     = 1
  2155  	SSB_CONTINUE = 2
  2156  	SSB_UNKNOWN  = 3
  2157  	SSB_TOODEEP  = 4
  2158  )
  2159  
  2160  // These are Boolean properties.
  2161  
  2162  const ( /* pcre2_ucp.h:105:1: */
  2163  	ucp_ASCII                        = 0
  2164  	ucp_ASCII_Hex_Digit              = 1
  2165  	ucp_Alphabetic                   = 2
  2166  	ucp_Bidi_Control                 = 3
  2167  	ucp_Bidi_Mirrored                = 4
  2168  	ucp_Case_Ignorable               = 5
  2169  	ucp_Cased                        = 6
  2170  	ucp_Changes_When_Casefolded      = 7
  2171  	ucp_Changes_When_Casemapped      = 8
  2172  	ucp_Changes_When_Lowercased      = 9
  2173  	ucp_Changes_When_Titlecased      = 10
  2174  	ucp_Changes_When_Uppercased      = 11
  2175  	ucp_Dash                         = 12
  2176  	ucp_Default_Ignorable_Code_Point = 13
  2177  	ucp_Deprecated                   = 14
  2178  	ucp_Diacritic                    = 15
  2179  	ucp_Emoji                        = 16
  2180  	ucp_Emoji_Component              = 17
  2181  	ucp_Emoji_Modifier               = 18
  2182  	ucp_Emoji_Modifier_Base          = 19
  2183  	ucp_Emoji_Presentation           = 20
  2184  	ucp_Extended_Pictographic        = 21
  2185  	ucp_Extender                     = 22
  2186  	ucp_Grapheme_Base                = 23
  2187  	ucp_Grapheme_Extend              = 24
  2188  	ucp_Grapheme_Link                = 25
  2189  	ucp_Hex_Digit                    = 26
  2190  	ucp_IDS_Binary_Operator          = 27
  2191  	ucp_IDS_Trinary_Operator         = 28
  2192  	ucp_ID_Continue                  = 29
  2193  	ucp_ID_Start                     = 30
  2194  	ucp_Ideographic                  = 31
  2195  	ucp_Join_Control                 = 32
  2196  	ucp_Logical_Order_Exception      = 33
  2197  	ucp_Lowercase                    = 34
  2198  	ucp_Math                         = 35
  2199  	ucp_Noncharacter_Code_Point      = 36
  2200  	ucp_Pattern_Syntax               = 37
  2201  	ucp_Pattern_White_Space          = 38
  2202  	ucp_Prepended_Concatenation_Mark = 39
  2203  	ucp_Quotation_Mark               = 40
  2204  	ucp_Radical                      = 41
  2205  	ucp_Regional_Indicator           = 42
  2206  	ucp_Sentence_Terminal            = 43
  2207  	ucp_Soft_Dotted                  = 44
  2208  	ucp_Terminal_Punctuation         = 45
  2209  	ucp_Unified_Ideograph            = 46
  2210  	ucp_Uppercase                    = 47
  2211  	ucp_Variation_Selector           = 48
  2212  	ucp_White_Space                  = 49
  2213  	ucp_XID_Continue                 = 50
  2214  	ucp_XID_Start                    = 51
  2215  	// This must be last
  2216  	ucp_Bprop_Count = 52
  2217  )
  2218  
  2219  // Size of entries in ucd_boolprop_sets[]
  2220  
  2221  // These are the bidi class values.
  2222  
  2223  const ( /* pcre2_ucp.h:168:1: */
  2224  	ucp_bidiAL  = 0  // Arabic letter
  2225  	ucp_bidiAN  = 1  // Arabic number
  2226  	ucp_bidiB   = 2  // Paragraph separator
  2227  	ucp_bidiBN  = 3  // Boundary neutral
  2228  	ucp_bidiCS  = 4  // Common separator
  2229  	ucp_bidiEN  = 5  // European number
  2230  	ucp_bidiES  = 6  // European separator
  2231  	ucp_bidiET  = 7  // European terminator
  2232  	ucp_bidiFSI = 8  // First strong isolate
  2233  	ucp_bidiL   = 9  // Left to right
  2234  	ucp_bidiLRE = 10 // Left to right embedding
  2235  	ucp_bidiLRI = 11 // Left to right isolate
  2236  	ucp_bidiLRO = 12 // Left to right override
  2237  	ucp_bidiNSM = 13 // Non-spacing mark
  2238  	ucp_bidiON  = 14 // Other neutral
  2239  	ucp_bidiPDF = 15 // Pop directional format
  2240  	ucp_bidiPDI = 16 // Pop directional isolate
  2241  	ucp_bidiR   = 17 // Right to left
  2242  	ucp_bidiRLE = 18 // Right to left embedding
  2243  	ucp_bidiRLI = 19 // Right to left isolate
  2244  	ucp_bidiRLO = 20 // Right to left override
  2245  	ucp_bidiS   = 21 // Segment separator
  2246  	ucp_bidiWS  = 22
  2247  )
  2248  
  2249  // These are grapheme break properties. The Extended Pictographic property
  2250  // comes from the emoji-data.txt file.
  2251  
  2252  const ( /* pcre2_ucp.h:197:1: */
  2253  	ucp_gbCR                    = 0  //  0
  2254  	ucp_gbLF                    = 1  //  1
  2255  	ucp_gbControl               = 2  //  2
  2256  	ucp_gbExtend                = 3  //  3
  2257  	ucp_gbPrepend               = 4  //  4
  2258  	ucp_gbSpacingMark           = 5  //  5
  2259  	ucp_gbL                     = 6  //  6 Hangul syllable type L
  2260  	ucp_gbV                     = 7  //  7 Hangul syllable type V
  2261  	ucp_gbT                     = 8  //  8 Hangul syllable type T
  2262  	ucp_gbLV                    = 9  //  9 Hangul syllable type LV
  2263  	ucp_gbLVT                   = 10 // 10 Hangul syllable type LVT
  2264  	ucp_gbRegional_Indicator    = 11 // 11
  2265  	ucp_gbOther                 = 12 // 12
  2266  	ucp_gbZWJ                   = 13 // 13
  2267  	ucp_gbExtended_Pictographic = 14
  2268  )
  2269  
  2270  // These are the script identifications.
  2271  
  2272  const ( /* pcre2_ucp.h:217:1: */
  2273  	// Scripts which has characters in other scripts.
  2274  	ucp_Latin           = 0
  2275  	ucp_Greek           = 1
  2276  	ucp_Cyrillic        = 2
  2277  	ucp_Arabic          = 3
  2278  	ucp_Syriac          = 4
  2279  	ucp_Thaana          = 5
  2280  	ucp_Devanagari      = 6
  2281  	ucp_Bengali         = 7
  2282  	ucp_Gurmukhi        = 8
  2283  	ucp_Gujarati        = 9
  2284  	ucp_Oriya           = 10
  2285  	ucp_Tamil           = 11
  2286  	ucp_Telugu          = 12
  2287  	ucp_Kannada         = 13
  2288  	ucp_Malayalam       = 14
  2289  	ucp_Sinhala         = 15
  2290  	ucp_Myanmar         = 16
  2291  	ucp_Georgian        = 17
  2292  	ucp_Hangul          = 18
  2293  	ucp_Mongolian       = 19
  2294  	ucp_Hiragana        = 20
  2295  	ucp_Katakana        = 21
  2296  	ucp_Bopomofo        = 22
  2297  	ucp_Han             = 23
  2298  	ucp_Yi              = 24
  2299  	ucp_Tagalog         = 25
  2300  	ucp_Hanunoo         = 26
  2301  	ucp_Buhid           = 27
  2302  	ucp_Tagbanwa        = 28
  2303  	ucp_Limbu           = 29
  2304  	ucp_Tai_Le          = 30
  2305  	ucp_Linear_B        = 31
  2306  	ucp_Cypriot         = 32
  2307  	ucp_Buginese        = 33
  2308  	ucp_Coptic          = 34
  2309  	ucp_Glagolitic      = 35
  2310  	ucp_Syloti_Nagri    = 36
  2311  	ucp_Phags_Pa        = 37
  2312  	ucp_Nko             = 38
  2313  	ucp_Kayah_Li        = 39
  2314  	ucp_Javanese        = 40
  2315  	ucp_Kaithi          = 41
  2316  	ucp_Mandaic         = 42
  2317  	ucp_Chakma          = 43
  2318  	ucp_Sharada         = 44
  2319  	ucp_Takri           = 45
  2320  	ucp_Duployan        = 46
  2321  	ucp_Grantha         = 47
  2322  	ucp_Khojki          = 48
  2323  	ucp_Linear_A        = 49
  2324  	ucp_Mahajani        = 50
  2325  	ucp_Manichaean      = 51
  2326  	ucp_Modi            = 52
  2327  	ucp_Old_Permic      = 53
  2328  	ucp_Psalter_Pahlavi = 54
  2329  	ucp_Khudawadi       = 55
  2330  	ucp_Tirhuta         = 56
  2331  	ucp_Multani         = 57
  2332  	ucp_Adlam           = 58
  2333  	ucp_Masaram_Gondi   = 59
  2334  	ucp_Dogra           = 60
  2335  	ucp_Gunjala_Gondi   = 61
  2336  	ucp_Hanifi_Rohingya = 62
  2337  	ucp_Sogdian         = 63
  2338  	ucp_Nandinagari     = 64
  2339  	ucp_Yezidi          = 65
  2340  	ucp_Cypro_Minoan    = 66
  2341  	ucp_Old_Uyghur      = 67
  2342  
  2343  	// Scripts which has no characters in other scripts.
  2344  	ucp_Unknown                = 68
  2345  	ucp_Common                 = 69
  2346  	ucp_Armenian               = 70
  2347  	ucp_Hebrew                 = 71
  2348  	ucp_Thai                   = 72
  2349  	ucp_Lao                    = 73
  2350  	ucp_Tibetan                = 74
  2351  	ucp_Ethiopic               = 75
  2352  	ucp_Cherokee               = 76
  2353  	ucp_Canadian_Aboriginal    = 77
  2354  	ucp_Ogham                  = 78
  2355  	ucp_Runic                  = 79
  2356  	ucp_Khmer                  = 80
  2357  	ucp_Old_Italic             = 81
  2358  	ucp_Gothic                 = 82
  2359  	ucp_Deseret                = 83
  2360  	ucp_Inherited              = 84
  2361  	ucp_Ugaritic               = 85
  2362  	ucp_Shavian                = 86
  2363  	ucp_Osmanya                = 87
  2364  	ucp_Braille                = 88
  2365  	ucp_New_Tai_Lue            = 89
  2366  	ucp_Tifinagh               = 90
  2367  	ucp_Old_Persian            = 91
  2368  	ucp_Kharoshthi             = 92
  2369  	ucp_Balinese               = 93
  2370  	ucp_Cuneiform              = 94
  2371  	ucp_Phoenician             = 95
  2372  	ucp_Sundanese              = 96
  2373  	ucp_Lepcha                 = 97
  2374  	ucp_Ol_Chiki               = 98
  2375  	ucp_Vai                    = 99
  2376  	ucp_Saurashtra             = 100
  2377  	ucp_Rejang                 = 101
  2378  	ucp_Lycian                 = 102
  2379  	ucp_Carian                 = 103
  2380  	ucp_Lydian                 = 104
  2381  	ucp_Cham                   = 105
  2382  	ucp_Tai_Tham               = 106
  2383  	ucp_Tai_Viet               = 107
  2384  	ucp_Avestan                = 108
  2385  	ucp_Egyptian_Hieroglyphs   = 109
  2386  	ucp_Samaritan              = 110
  2387  	ucp_Lisu                   = 111
  2388  	ucp_Bamum                  = 112
  2389  	ucp_Meetei_Mayek           = 113
  2390  	ucp_Imperial_Aramaic       = 114
  2391  	ucp_Old_South_Arabian      = 115
  2392  	ucp_Inscriptional_Parthian = 116
  2393  	ucp_Inscriptional_Pahlavi  = 117
  2394  	ucp_Old_Turkic             = 118
  2395  	ucp_Batak                  = 119
  2396  	ucp_Brahmi                 = 120
  2397  	ucp_Meroitic_Cursive       = 121
  2398  	ucp_Meroitic_Hieroglyphs   = 122
  2399  	ucp_Miao                   = 123
  2400  	ucp_Sora_Sompeng           = 124
  2401  	ucp_Caucasian_Albanian     = 125
  2402  	ucp_Bassa_Vah              = 126
  2403  	ucp_Elbasan                = 127
  2404  	ucp_Pahawh_Hmong           = 128
  2405  	ucp_Mende_Kikakui          = 129
  2406  	ucp_Mro                    = 130
  2407  	ucp_Old_North_Arabian      = 131
  2408  	ucp_Nabataean              = 132
  2409  	ucp_Palmyrene              = 133
  2410  	ucp_Pau_Cin_Hau            = 134
  2411  	ucp_Siddham                = 135
  2412  	ucp_Warang_Citi            = 136
  2413  	ucp_Ahom                   = 137
  2414  	ucp_Anatolian_Hieroglyphs  = 138
  2415  	ucp_Hatran                 = 139
  2416  	ucp_Old_Hungarian          = 140
  2417  	ucp_SignWriting            = 141
  2418  	ucp_Bhaiksuki              = 142
  2419  	ucp_Marchen                = 143
  2420  	ucp_Newa                   = 144
  2421  	ucp_Osage                  = 145
  2422  	ucp_Tangut                 = 146
  2423  	ucp_Nushu                  = 147
  2424  	ucp_Soyombo                = 148
  2425  	ucp_Zanabazar_Square       = 149
  2426  	ucp_Makasar                = 150
  2427  	ucp_Medefaidrin            = 151
  2428  	ucp_Old_Sogdian            = 152
  2429  	ucp_Elymaic                = 153
  2430  	ucp_Nyiakeng_Puachue_Hmong = 154
  2431  	ucp_Wancho                 = 155
  2432  	ucp_Chorasmian             = 156
  2433  	ucp_Dives_Akuru            = 157
  2434  	ucp_Khitan_Small_Script    = 158
  2435  	ucp_Tangsa                 = 159
  2436  	ucp_Toto                   = 160
  2437  	ucp_Vithkuqi               = 161
  2438  
  2439  	// This must be last
  2440  	ucp_Script_Count = 162
  2441  )
  2442  
  2443  // Undefine the list macros; they are no longer needed.
  2444  
  2445  // PCRE2_CODE_UNIT_WIDTH must be defined. If it is 8, 16, or 32, redefine
  2446  // PCRE2_SUFFIX to use it. If it is 0, undefine the other macros and make
  2447  // PCRE2_SUFFIX a no-op. Otherwise, generate an error.
  2448  
  2449  // End of pcre2.h
  2450  // ************************************************
  2451  //
  2452  //      Perl-Compatible Regular Expressions       *
  2453  //
  2454  
  2455  // PCRE is a library of functions to support regular expressions whose syntax
  2456  // and semantics are as close as possible to those of the Perl 5 language.
  2457  //
  2458  //                        Written by Philip Hazel
  2459  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2460  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2461  //
  2462  // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
  2463  // Instead, modify the maint/GenerateUcpHeader.py script and run it to generate
  2464  // a new version of this code.
  2465  //
  2466  // -----------------------------------------------------------------------------
  2467  // Redistribution and use in source and binary forms, with or without
  2468  // modification, are permitted provided that the following conditions are met:
  2469  //
  2470  //     * Redistributions of source code must retain the above copyright notice,
  2471  //       this list of conditions and the following disclaimer.
  2472  //
  2473  //     * Redistributions in binary form must reproduce the above copyright
  2474  //       notice, this list of conditions and the following disclaimer in the
  2475  //       documentation and/or other materials provided with the distribution.
  2476  //
  2477  //     * Neither the name of the University of Cambridge nor the names of its
  2478  //       contributors may be used to endorse or promote products derived from
  2479  //       this software without specific prior written permission.
  2480  //
  2481  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2482  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2483  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2484  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2485  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2486  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2487  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2488  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2489  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2490  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2491  // POSSIBILITY OF SUCH DAMAGE.
  2492  // -----------------------------------------------------------------------------
  2493  
  2494  // This file contains definitions of the Unicode property values that are
  2495  // returned by the UCD access macros and used throughout PCRE2.
  2496  //
  2497  // IMPORTANT: The specific values of the first two enums (general and particular
  2498  // character categories) are assumed by the table called catposstab in the file
  2499  // pcre2_auto_possess.c. They are unlikely to change, but should be checked after
  2500  // an update.
  2501  
  2502  // These are the general character categories.
  2503  
  2504  const ( /* pcre2_ucp.h:58:1: */
  2505  	ucp_C = 0
  2506  	ucp_L = 1
  2507  	ucp_M = 2
  2508  	ucp_N = 3
  2509  	ucp_P = 4
  2510  	ucp_S = 5
  2511  	ucp_Z = 6
  2512  )
  2513  
  2514  // These are the particular character categories.
  2515  
  2516  const ( /* pcre2_ucp.h:70:1: */
  2517  	ucp_Cc = 0  // Control
  2518  	ucp_Cf = 1  // Format
  2519  	ucp_Cn = 2  // Unassigned
  2520  	ucp_Co = 3  // Private use
  2521  	ucp_Cs = 4  // Surrogate
  2522  	ucp_Ll = 5  // Lower case letter
  2523  	ucp_Lm = 6  // Modifier letter
  2524  	ucp_Lo = 7  // Other letter
  2525  	ucp_Lt = 8  // Title case letter
  2526  	ucp_Lu = 9  // Upper case letter
  2527  	ucp_Mc = 10 // Spacing mark
  2528  	ucp_Me = 11 // Enclosing mark
  2529  	ucp_Mn = 12 // Non-spacing mark
  2530  	ucp_Nd = 13 // Decimal number
  2531  	ucp_Nl = 14 // Letter number
  2532  	ucp_No = 15 // Other number
  2533  	ucp_Pc = 16 // Connector punctuation
  2534  	ucp_Pd = 17 // Dash punctuation
  2535  	ucp_Pe = 18 // Close punctuation
  2536  	ucp_Pf = 19 // Final punctuation
  2537  	ucp_Pi = 20 // Initial punctuation
  2538  	ucp_Po = 21 // Other punctuation
  2539  	ucp_Ps = 22 // Open punctuation
  2540  	ucp_Sc = 23 // Currency symbol
  2541  	ucp_Sk = 24 // Modifier symbol
  2542  	ucp_Sm = 25 // Mathematical symbol
  2543  	ucp_So = 26 // Other symbol
  2544  	ucp_Zl = 27 // Line separator
  2545  	ucp_Zp = 28 // Paragraph separator
  2546  	ucp_Zs = 29
  2547  )
  2548  
  2549  type Tptrdiff_t = int64 /* <builtin>:3:26 */
  2550  
  2551  type Tsize_t = uint64 /* <builtin>:9:23 */
  2552  
  2553  type Twchar_t = int32 /* <builtin>:15:24 */
  2554  
  2555  type T__int128_t = struct {
  2556  	Flo int64
  2557  	Fhi int64
  2558  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  2559  type T__uint128_t = struct {
  2560  	Flo uint64
  2561  	Fhi uint64
  2562  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  2563  
  2564  type T__builtin_va_list = uintptr /* <builtin>:46:14 */
  2565  type T__float128 = float64        /* <builtin>:47:21 */
  2566  
  2567  // ************************************************
  2568  //
  2569  //      Perl-Compatible Regular Expressions       *
  2570  //
  2571  
  2572  // PCRE is a library of functions to support regular expressions whose syntax
  2573  // and semantics are as close as possible to those of the Perl 5 language.
  2574  //
  2575  //                        Written by Philip Hazel
  2576  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2577  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2578  //
  2579  // -----------------------------------------------------------------------------
  2580  // Redistribution and use in source and binary forms, with or without
  2581  // modification, are permitted provided that the following conditions are met:
  2582  //
  2583  //     * Redistributions of source code must retain the above copyright notice,
  2584  //       this list of conditions and the following disclaimer.
  2585  //
  2586  //     * Redistributions in binary form must reproduce the above copyright
  2587  //       notice, this list of conditions and the following disclaimer in the
  2588  //       documentation and/or other materials provided with the distribution.
  2589  //
  2590  //     * Neither the name of the University of Cambridge nor the names of its
  2591  //       contributors may be used to endorse or promote products derived from
  2592  //       this software without specific prior written permission.
  2593  //
  2594  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2595  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2596  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2597  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2598  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2599  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2600  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2601  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2602  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2603  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2604  // POSSIBILITY OF SUCH DAMAGE.
  2605  // -----------------------------------------------------------------------------
  2606  
  2607  // This module contains functions that scan a compiled pattern and change
  2608  // repeats into possessive repeats where possible.
  2609  
  2610  // src/config.h.  Generated from config.h.in by configure.
  2611  // src/config.h.in.  Generated from configure.ac by autoheader.
  2612  
  2613  // PCRE2 is written in Standard C, but there are a few non-standard things it
  2614  // can cope with, allowing it to run on SunOS4 and other "close to standard"
  2615  // systems.
  2616  //
  2617  // In environments that support the GNU autotools, config.h.in is converted into
  2618  // config.h by the "configure" script. In environments that use CMake,
  2619  // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
  2620  // hand" without using "configure" or CMake, you should copy the distributed
  2621  // config.h.generic to config.h, and edit the macro definitions to be the way you
  2622  // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
  2623  // so that config.h is included at the start of every source.
  2624  //
  2625  // Alternatively, you can avoid editing by using -D on the compiler command line
  2626  // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
  2627  // but if you do, default values will be taken from config.h for non-boolean
  2628  // macros that are not defined on the command line.
  2629  //
  2630  // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be
  2631  // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All
  2632  // such macros are listed as a commented #undef in config.h.generic. Macros such
  2633  // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
  2634  // surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
  2635  //
  2636  // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
  2637  // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
  2638  // sure both macros are undefined; an emulation function will then be used.
  2639  
  2640  // By default, the \R escape sequence matches any Unicode line ending
  2641  //    character or sequence of characters. If BSR_ANYCRLF is defined (to any
  2642  //    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
  2643  //    The build-time default can be overridden by the user of PCRE2 at runtime.
  2644  //
  2645  // #undef BSR_ANYCRLF
  2646  
  2647  // Define to any value to disable the use of the z and t modifiers in
  2648  //    formatting settings such as %zu or %td (this is rarely needed).
  2649  // #undef DISABLE_PERCENT_ZT
  2650  
  2651  // If you are compiling for a system that uses EBCDIC instead of ASCII
  2652  //    character codes, define this macro to any value. When EBCDIC is set, PCRE2
  2653  //    assumes that all input strings are in EBCDIC. If you do not define this
  2654  //    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
  2655  //    is not possible to build a version of PCRE2 that supports both EBCDIC and
  2656  //    UTF-8/16/32.
  2657  // #undef EBCDIC
  2658  
  2659  // In an EBCDIC environment, define this macro to any value to arrange for the
  2660  //    NL character to be 0x25 instead of the default 0x15. NL plays the role that
  2661  //    LF does in an ASCII/Unicode environment.
  2662  // #undef EBCDIC_NL25
  2663  
  2664  // Define this if your compiler supports __attribute__((uninitialized))
  2665  // #undef HAVE_ATTRIBUTE_UNINITIALIZED
  2666  
  2667  // Define to 1 if you have the `bcopy' function.
  2668  
  2669  // Define to 1 if you have the <bzlib.h> header file.
  2670  
  2671  // Define to 1 if you have the <dirent.h> header file.
  2672  
  2673  // Define to 1 if you have the <dlfcn.h> header file.
  2674  
  2675  // Define to 1 if you have the <editline/readline.h> header file.
  2676  // #undef HAVE_EDITLINE_READLINE_H
  2677  
  2678  // Define to 1 if you have the <edit/readline/readline.h> header file.
  2679  // #undef HAVE_EDIT_READLINE_READLINE_H
  2680  
  2681  // Define to 1 if you have the <inttypes.h> header file.
  2682  
  2683  // Define to 1 if you have the <limits.h> header file.
  2684  
  2685  // Define to 1 if you have the `memfd_create' function.
  2686  
  2687  // Define to 1 if you have the `memmove' function.
  2688  
  2689  // Define to 1 if you have the <minix/config.h> header file.
  2690  // #undef HAVE_MINIX_CONFIG_H
  2691  
  2692  // Define to 1 if you have the `mkostemp' function.
  2693  
  2694  // Define if you have POSIX threads libraries and header files.
  2695  // #undef HAVE_PTHREAD
  2696  
  2697  // Have PTHREAD_PRIO_INHERIT.
  2698  // #undef HAVE_PTHREAD_PRIO_INHERIT
  2699  
  2700  // Define to 1 if you have the <readline.h> header file.
  2701  // #undef HAVE_READLINE_H
  2702  
  2703  // Define to 1 if you have the <readline/history.h> header file.
  2704  // #undef HAVE_READLINE_HISTORY_H
  2705  
  2706  // Define to 1 if you have the <readline/readline.h> header file.
  2707  // #undef HAVE_READLINE_READLINE_H
  2708  
  2709  // Define to 1 if you have the `realpath' function.
  2710  
  2711  // Define to 1 if you have the `secure_getenv' function.
  2712  
  2713  // Define to 1 if you have the <stdint.h> header file.
  2714  
  2715  // Define to 1 if you have the <stdio.h> header file.
  2716  
  2717  // Define to 1 if you have the <stdlib.h> header file.
  2718  
  2719  // Define to 1 if you have the `strerror' function.
  2720  
  2721  // Define to 1 if you have the <strings.h> header file.
  2722  
  2723  // Define to 1 if you have the <string.h> header file.
  2724  
  2725  // Define to 1 if you have the <sys/stat.h> header file.
  2726  
  2727  // Define to 1 if you have the <sys/types.h> header file.
  2728  
  2729  // Define to 1 if you have the <sys/wait.h> header file.
  2730  
  2731  // Define to 1 if you have the <unistd.h> header file.
  2732  
  2733  // Define to 1 if the compiler supports simple visibility declarations.
  2734  
  2735  // Define to 1 if you have the <wchar.h> header file.
  2736  
  2737  // Define to 1 if you have the <windows.h> header file.
  2738  // #undef HAVE_WINDOWS_H
  2739  
  2740  // Define to 1 if you have the <zlib.h> header file.
  2741  
  2742  // This limits the amount of memory that may be used while matching a pattern.
  2743  //    It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply
  2744  //    to JIT matching. The value is in kibibytes (units of 1024 bytes).
  2745  
  2746  // The value of LINK_SIZE determines the number of bytes used to store links
  2747  //    as offsets within the compiled regex. The default is 2, which allows for
  2748  //    compiled patterns up to 65535 code units long. This covers the vast
  2749  //    majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes
  2750  //    instead. This allows for longer patterns in extreme cases.
  2751  
  2752  // Define to the sub-directory where libtool stores uninstalled libraries.
  2753  
  2754  // The value of MATCH_LIMIT determines the default number of times the
  2755  //    pcre2_match() function can record a backtrack position during a single
  2756  //    matching attempt. The value is also used to limit a loop counter in
  2757  //    pcre2_dfa_match(). There is a runtime interface for setting a different
  2758  //    limit. The limit exists in order to catch runaway regular expressions that
  2759  //    take for ever to determine that they do not match. The default is set very
  2760  //    large so that it does not accidentally catch legitimate cases.
  2761  
  2762  // The above limit applies to all backtracks, whether or not they are nested.
  2763  //    In some environments it is desirable to limit the nesting of backtracking
  2764  //    (that is, the depth of tree that is searched) more strictly, in order to
  2765  //    restrict the maximum amount of heap memory that is used. The value of
  2766  //    MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it
  2767  //    must be less than the value of MATCH_LIMIT. The default is to use the same
  2768  //    value as MATCH_LIMIT. There is a runtime method for setting a different
  2769  //    limit. In the case of pcre2_dfa_match(), this limit controls the depth of
  2770  //    the internal nested function calls that are used for pattern recursions,
  2771  //    lookarounds, and atomic groups.
  2772  
  2773  // This limit is parameterized just in case anybody ever wants to change it.
  2774  //    Care must be taken if it is increased, because it guards against integer
  2775  //    overflow caused by enormously large patterns.
  2776  
  2777  // This limit is parameterized just in case anybody ever wants to change it.
  2778  //    Care must be taken if it is increased, because it guards against integer
  2779  //    overflow caused by enormously large patterns.
  2780  
  2781  // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.
  2782  // #undef NEVER_BACKSLASH_C
  2783  
  2784  // The value of NEWLINE_DEFAULT determines the default newline character
  2785  //    sequence. PCRE2 client programs can override this by selecting other values
  2786  //    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5
  2787  //    (ANYCRLF), and 6 (NUL).
  2788  
  2789  // Name of package
  2790  
  2791  // Define to the address where bug reports for this package should be sent.
  2792  
  2793  // Define to the full name of this package.
  2794  
  2795  // Define to the full name and version of this package.
  2796  
  2797  // Define to the one symbol short name of this package.
  2798  
  2799  // Define to the home page for this package.
  2800  
  2801  // Define to the version of this package.
  2802  
  2803  // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
  2804  //    parentheses (of any kind) in a pattern. This limits the amount of system
  2805  //    stack that is used while compiling a pattern.
  2806  
  2807  // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by
  2808  //    pcre2grep to hold parts of the file it is searching. The buffer will be
  2809  //    expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing
  2810  //    very long lines. The actual amount of memory used by pcre2grep is three
  2811  //    times this number, because it allows for the buffering of "before" and
  2812  //    "after" lines.
  2813  
  2814  // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer
  2815  //    used by pcre2grep to hold parts of the file it is searching. The actual
  2816  //    amount of memory used by pcre2grep is three times this number, because it
  2817  //    allows for the buffering of "before" and "after" lines.
  2818  
  2819  // to make a symbol visible
  2820  
  2821  // to make a symbol visible
  2822  
  2823  // Define to any value to include debugging code.
  2824  // #undef PCRE2_DEBUG
  2825  
  2826  // to make a symbol visible
  2827  
  2828  // If you are compiling for a system other than a Unix-like system or
  2829  //    Win32, and it needs some magic to be inserted before the definition
  2830  //    of a function that is exported by the library, define this macro to
  2831  //    contain the relevant magic. If you do not define this macro, a suitable
  2832  //     __declspec value is used for Windows systems; in other environments
  2833  //    "extern" is used for a C compiler and "extern C" for a C++ compiler.
  2834  //    This macro apears at the start of every exported function that is part
  2835  //    of the external API. It does not appear on functions that are "external"
  2836  //    in the C sense, but which are internal to the library.
  2837  
  2838  // Define to any value if linking statically (TODO: make nice with Libtool)
  2839  // #undef PCRE2_STATIC
  2840  
  2841  // Define to necessary symbol if this constant uses a non-standard name on
  2842  //    your system.
  2843  // #undef PTHREAD_CREATE_JOINABLE
  2844  
  2845  // Define to any non-zero number to enable support for SELinux compatible
  2846  //    executable memory allocator in JIT. Note that this will have no effect
  2847  //    unless SUPPORT_JIT is also defined.
  2848  // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR
  2849  
  2850  // Define to 1 if all of the C90 standard headers exist (not just the ones
  2851  //    required in a freestanding environment). This macro is provided for
  2852  //    backward compatibility; new code need not use it.
  2853  
  2854  // Define to any value to enable support for Just-In-Time compiling.
  2855  // #undef SUPPORT_JIT
  2856  
  2857  // Define to any value to allow pcre2grep to be linked with libbz2, so that it
  2858  //    is able to handle .bz2 files.
  2859  // #undef SUPPORT_LIBBZ2
  2860  
  2861  // Define to any value to allow pcre2test to be linked with libedit.
  2862  // #undef SUPPORT_LIBEDIT
  2863  
  2864  // Define to any value to allow pcre2test to be linked with libreadline.
  2865  // #undef SUPPORT_LIBREADLINE
  2866  
  2867  // Define to any value to allow pcre2grep to be linked with libz, so that it
  2868  //    is able to handle .gz files.
  2869  // #undef SUPPORT_LIBZ
  2870  
  2871  // Define to any value to enable callout script support in pcre2grep.
  2872  
  2873  // Define to any value to enable fork support in pcre2grep callout scripts.
  2874  //    This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined.
  2875  //
  2876  
  2877  // Define to any value to enable JIT support in pcre2grep. Note that this will
  2878  //    have no effect unless SUPPORT_JIT is also defined.
  2879  // #undef SUPPORT_PCRE2GREP_JIT
  2880  
  2881  // Define to any value to enable the 16 bit PCRE2 library.
  2882  // #undef SUPPORT_PCRE2_16
  2883  
  2884  // Define to any value to enable the 32 bit PCRE2 library.
  2885  // #undef SUPPORT_PCRE2_32
  2886  
  2887  // Define to any value to enable the 8 bit PCRE2 library.
  2888  
  2889  // Define to any value to enable support for Unicode and UTF encoding. This
  2890  //    will work even in an EBCDIC environment, but it is incompatible with the
  2891  //    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
  2892  //    ASCII/Unicode, but not both at once.
  2893  
  2894  // Define to any value for valgrind support to find invalid memory reads.
  2895  // #undef SUPPORT_VALGRIND
  2896  
  2897  // Enable extensions on AIX 3, Interix.
  2898  // Enable general extensions on macOS.
  2899  // Enable general extensions on Solaris.
  2900  // Enable GNU extensions on systems that have them.
  2901  // Enable X/Open compliant socket functions that do not require linking
  2902  //    with -lxnet on HP-UX 11.11.
  2903  // Identify the host operating system as Minix.
  2904  //    This macro does not affect the system headers' behavior.
  2905  //    A future release of Autoconf may stop defining this macro.
  2906  // # undef _MINIX
  2907  // Enable general extensions on NetBSD.
  2908  //    Enable NetBSD compatibility extensions on Minix.
  2909  // Enable OpenBSD compatibility extensions on NetBSD.
  2910  //    Oddly enough, this does nothing on OpenBSD.
  2911  // Define to 1 if needed for POSIX-compatible behavior.
  2912  // # undef _POSIX_SOURCE
  2913  // Define to 2 if needed for POSIX-compatible behavior.
  2914  // # undef _POSIX_1_SOURCE
  2915  // Enable POSIX-compatible threading on Solaris.
  2916  // Enable extensions specified by ISO/IEC TS 18661-5:2014.
  2917  // Enable extensions specified by ISO/IEC TS 18661-1:2014.
  2918  // Enable extensions specified by ISO/IEC TS 18661-2:2015.
  2919  // Enable extensions specified by ISO/IEC TS 18661-4:2015.
  2920  // Enable extensions specified by ISO/IEC TS 18661-3:2015.
  2921  // Enable extensions specified by ISO/IEC TR 24731-2:2010.
  2922  // Enable extensions specified by ISO/IEC 24747:2009.
  2923  // Enable extensions on HP NonStop.
  2924  // Enable X/Open extensions.  Define to 500 only if necessary
  2925  //    to make mbstate_t available.
  2926  // # undef _XOPEN_SOURCE
  2927  
  2928  // Version number of package
  2929  
  2930  // Define to empty if `const' does not conform to ANSI C.
  2931  // #undef const
  2932  
  2933  // Define to the type of a signed integer type of width exactly 64 bits if
  2934  //    such a type exists and the standard includes do not define it.
  2935  // #undef int64_t
  2936  
  2937  // Define to `unsigned int' if <sys/types.h> does not define.
  2938  // #undef size_t
  2939  
  2940  // ************************************************
  2941  //
  2942  //      Perl-Compatible Regular Expressions       *
  2943  //
  2944  
  2945  // PCRE2 is a library of functions to support regular expressions whose syntax
  2946  // and semantics are as close as possible to those of the Perl 5 language.
  2947  //
  2948  //                        Written by Philip Hazel
  2949  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2950  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2951  //
  2952  // -----------------------------------------------------------------------------
  2953  // Redistribution and use in source and binary forms, with or without
  2954  // modification, are permitted provided that the following conditions are met:
  2955  //
  2956  //     * Redistributions of source code must retain the above copyright notice,
  2957  //       this list of conditions and the following disclaimer.
  2958  //
  2959  //     * Redistributions in binary form must reproduce the above copyright
  2960  //       notice, this list of conditions and the following disclaimer in the
  2961  //       documentation and/or other materials provided with the distribution.
  2962  //
  2963  //     * Neither the name of the University of Cambridge nor the names of its
  2964  //       contributors may be used to endorse or promote products derived from
  2965  //       this software without specific prior written permission.
  2966  //
  2967  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2968  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2969  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2970  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2971  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2972  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2973  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2974  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2975  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2976  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2977  // POSSIBILITY OF SUCH DAMAGE.
  2978  // -----------------------------------------------------------------------------
  2979  
  2980  // We do not support both EBCDIC and Unicode at the same time. The "configure"
  2981  // script prevents both being selected, but not everybody uses "configure". EBCDIC
  2982  // is only supported for the 8-bit library, but the check for this has to be later
  2983  // in this file, because the first part is not width-dependent, and is included by
  2984  // pcre2test.c with CODE_UNIT_WIDTH == 0.
  2985  
  2986  // Standard C headers
  2987  
  2988  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  2989  //    This file is part of the GNU C Library.
  2990  //
  2991  //    The GNU C Library is free software; you can redistribute it and/or
  2992  //    modify it under the terms of the GNU Lesser General Public
  2993  //    License as published by the Free Software Foundation; either
  2994  //    version 2.1 of the License, or (at your option) any later version.
  2995  //
  2996  //    The GNU C Library is distributed in the hope that it will be useful,
  2997  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2998  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2999  //    Lesser General Public License for more details.
  3000  //
  3001  //    You should have received a copy of the GNU Lesser General Public
  3002  //    License along with the GNU C Library; if not, see
  3003  //    <https://www.gnu.org/licenses/>.
  3004  
  3005  //	ISO C99 Standard 7.4: Character handling	<ctype.h>
  3006  
  3007  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3008  //    This file is part of the GNU C Library.
  3009  //
  3010  //    The GNU C Library is free software; you can redistribute it and/or
  3011  //    modify it under the terms of the GNU Lesser General Public
  3012  //    License as published by the Free Software Foundation; either
  3013  //    version 2.1 of the License, or (at your option) any later version.
  3014  //
  3015  //    The GNU C Library is distributed in the hope that it will be useful,
  3016  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3017  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3018  //    Lesser General Public License for more details.
  3019  //
  3020  //    You should have received a copy of the GNU Lesser General Public
  3021  //    License along with the GNU C Library; if not, see
  3022  //    <https://www.gnu.org/licenses/>.
  3023  
  3024  // These are defined by the user (or the compiler)
  3025  //    to specify the desired environment:
  3026  //
  3027  //    __STRICT_ANSI__	ISO Standard C.
  3028  //    _ISOC99_SOURCE	Extensions to ISO C89 from ISO C99.
  3029  //    _ISOC11_SOURCE	Extensions to ISO C99 from ISO C11.
  3030  //    _ISOC2X_SOURCE	Extensions to ISO C99 from ISO C2X.
  3031  //    __STDC_WANT_LIB_EXT2__
  3032  // 			Extensions to ISO C99 from TR 27431-2:2010.
  3033  //    __STDC_WANT_IEC_60559_BFP_EXT__
  3034  // 			Extensions to ISO C11 from TS 18661-1:2014.
  3035  //    __STDC_WANT_IEC_60559_FUNCS_EXT__
  3036  // 			Extensions to ISO C11 from TS 18661-4:2015.
  3037  //    __STDC_WANT_IEC_60559_TYPES_EXT__
  3038  // 			Extensions to ISO C11 from TS 18661-3:2015.
  3039  //    __STDC_WANT_IEC_60559_EXT__
  3040  // 			ISO C2X interfaces defined only in Annex F.
  3041  //
  3042  //    _POSIX_SOURCE	IEEE Std 1003.1.
  3043  //    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
  3044  // 			if >=199309L, add IEEE Std 1003.1b-1993;
  3045  // 			if >=199506L, add IEEE Std 1003.1c-1995;
  3046  // 			if >=200112L, all of IEEE 1003.1-2004
  3047  // 			if >=200809L, all of IEEE 1003.1-2008
  3048  //    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
  3049  // 			Single Unix conformance is wanted, to 600 for the
  3050  // 			sixth revision, to 700 for the seventh revision.
  3051  //    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
  3052  //    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
  3053  //    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
  3054  //    _FILE_OFFSET_BITS=N	Select default filesystem interface.
  3055  //    _ATFILE_SOURCE	Additional *at interfaces.
  3056  //    _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant)
  3057  // 			MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
  3058  //    _GNU_SOURCE		All of the above, plus GNU extensions.
  3059  //    _DEFAULT_SOURCE	The default set of features (taking precedence over
  3060  // 			__STRICT_ANSI__).
  3061  //
  3062  //    _FORTIFY_SOURCE	Add security hardening to many library functions.
  3063  // 			Set to 1 or 2; 2 performs stricter checks than 1.
  3064  //
  3065  //    _REENTRANT, _THREAD_SAFE
  3066  // 			Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
  3067  //
  3068  //    The `-ansi' switch to the GNU C compiler, and standards conformance
  3069  //    options such as `-std=c99', define __STRICT_ANSI__.  If none of
  3070  //    these are defined, or if _DEFAULT_SOURCE is defined, the default is
  3071  //    to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
  3072  //    200809L, as well as enabling miscellaneous functions from BSD and
  3073  //    SVID.  If more than one of these are defined, they accumulate.  For
  3074  //    example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
  3075  //    give you ISO C, 1003.1, and 1003.2, but nothing else.
  3076  //
  3077  //    These are defined by this file and are used by the
  3078  //    header files to decide what to declare or define:
  3079  //
  3080  //    __GLIBC_USE (F)	Define things from feature set F.  This is defined
  3081  // 			to 1 or 0; the subsequent macros are either defined
  3082  // 			or undefined, and those tests should be moved to
  3083  // 			__GLIBC_USE.
  3084  //    __USE_ISOC11		Define ISO C11 things.
  3085  //    __USE_ISOC99		Define ISO C99 things.
  3086  //    __USE_ISOC95		Define ISO C90 AMD1 (C95) things.
  3087  //    __USE_ISOCXX11	Define ISO C++11 things.
  3088  //    __USE_POSIX		Define IEEE Std 1003.1 things.
  3089  //    __USE_POSIX2		Define IEEE Std 1003.2 things.
  3090  //    __USE_POSIX199309	Define IEEE Std 1003.1, and .1b things.
  3091  //    __USE_POSIX199506	Define IEEE Std 1003.1, .1b, .1c and .1i things.
  3092  //    __USE_XOPEN		Define XPG things.
  3093  //    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
  3094  //    __USE_UNIX98		Define Single Unix V2 things.
  3095  //    __USE_XOPEN2K        Define XPG6 things.
  3096  //    __USE_XOPEN2KXSI     Define XPG6 XSI things.
  3097  //    __USE_XOPEN2K8       Define XPG7 things.
  3098  //    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
  3099  //    __USE_LARGEFILE	Define correct standard I/O things.
  3100  //    __USE_LARGEFILE64	Define LFS things with separate names.
  3101  //    __USE_FILE_OFFSET64	Define 64bit interface as default.
  3102  //    __USE_MISC		Define things from 4.3BSD or System V Unix.
  3103  //    __USE_ATFILE		Define *at interfaces and AT_* constants for them.
  3104  //    __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant)
  3105  // 			MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
  3106  //    __USE_GNU		Define GNU extensions.
  3107  //    __USE_FORTIFY_LEVEL	Additional security measures used, according to level.
  3108  //
  3109  //    The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
  3110  //    defined by this file unconditionally.  `__GNU_LIBRARY__' is provided
  3111  //    only for compatibility.  All new code should use the other symbols
  3112  //    to test for features.
  3113  //
  3114  //    All macros listed above as possibly being defined by this file are
  3115  //    explicitly undefined if they are not explicitly defined.
  3116  //    Feature-test macros that are not defined by the user or compiler
  3117  //    but are implied by the other feature-test macros defined (or by the
  3118  //    lack of any definitions) are defined by the file.
  3119  //
  3120  //    ISO C feature test macros depend on the definition of the macro
  3121  //    when an affected header is included, not when the first system
  3122  //    header is included, and so they are handled in
  3123  //    <bits/libc-header-start.h>, which does not have a multiple include
  3124  //    guard.  Feature test macros that can be handled from the first
  3125  //    system header included are handled here.
  3126  
  3127  // Undefine everything, so we get a clean slate.
  3128  
  3129  // Suppress kernel-name space pollution unless user expressedly asks
  3130  //    for it.
  3131  
  3132  // Convenience macro to test the version of gcc.
  3133  //    Use like this:
  3134  //    #if __GNUC_PREREQ (2,8)
  3135  //    ... code requiring gcc 2.8 or later ...
  3136  //    #endif
  3137  //    Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
  3138  //    added in 2.0.
  3139  
  3140  // Similarly for clang.  Features added to GCC after version 4.2 may
  3141  //    or may not also be available in clang, and clang's definitions of
  3142  //    __GNUC(_MINOR)__ are fixed at 4 and 2 respectively.  Not all such
  3143  //    features can be queried via __has_extension/__has_feature.
  3144  
  3145  // Whether to use feature set F.
  3146  
  3147  // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
  3148  //    _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
  3149  //    issue a warning; the expectation is that the source is being
  3150  //    transitioned to use the new macro.
  3151  
  3152  // If _GNU_SOURCE was defined by the user, turn on all the other features.
  3153  
  3154  // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
  3155  //    define _DEFAULT_SOURCE.
  3156  
  3157  // This is to enable the ISO C2X extension.
  3158  
  3159  // This is to enable the ISO C11 extension.
  3160  
  3161  // This is to enable the ISO C99 extension.
  3162  
  3163  // This is to enable the ISO C90 Amendment 1:1995 extension.
  3164  
  3165  // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
  3166  //    is defined, use POSIX.1-2008 (or another version depending on
  3167  //    _XOPEN_SOURCE).
  3168  
  3169  // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
  3170  //    defined in all multithreaded code.  GNU libc has not required this
  3171  //    for many years.  We now treat them as compatibility synonyms for
  3172  //    _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
  3173  //    comprehensive support for multithreaded code.  Using them never
  3174  //    lowers the selected level of POSIX conformance, only raises it.
  3175  
  3176  // Features part to handle 64-bit time_t support.
  3177  //    Copyright (C) 2021-2022 Free Software Foundation, Inc.
  3178  //    This file is part of the GNU C Library.
  3179  //
  3180  //    The GNU C Library is free software; you can redistribute it and/or
  3181  //    modify it under the terms of the GNU Lesser General Public
  3182  //    License as published by the Free Software Foundation; either
  3183  //    version 2.1 of the License, or (at your option) any later version.
  3184  //
  3185  //    The GNU C Library is distributed in the hope that it will be useful,
  3186  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3187  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3188  //    Lesser General Public License for more details.
  3189  //
  3190  //    You should have received a copy of the GNU Lesser General Public
  3191  //    License along with the GNU C Library; if not, see
  3192  //    <https://www.gnu.org/licenses/>.
  3193  
  3194  // We need to know the word size in order to check the time size.
  3195  // Determine the wordsize from the preprocessor defines.
  3196  
  3197  // Both x86-64 and x32 use the 64-bit system call interface.
  3198  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  3199  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3200  //    This file is part of the GNU C Library.
  3201  //
  3202  //    The GNU C Library is free software; you can redistribute it and/or
  3203  //    modify it under the terms of the GNU Lesser General Public
  3204  //    License as published by the Free Software Foundation; either
  3205  //    version 2.1 of the License, or (at your option) any later version.
  3206  //
  3207  //    The GNU C Library is distributed in the hope that it will be useful,
  3208  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3209  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3210  //    Lesser General Public License for more details.
  3211  //
  3212  //    You should have received a copy of the GNU Lesser General Public
  3213  //    License along with the GNU C Library; if not, see
  3214  //    <https://www.gnu.org/licenses/>.
  3215  
  3216  // Determine the wordsize from the preprocessor defines.
  3217  
  3218  // Both x86-64 and x32 use the 64-bit system call interface.
  3219  
  3220  // For others, time size is word size.
  3221  
  3222  // The function 'gets' existed in C89, but is impossible to use
  3223  //    safely.  It has been removed from ISO C11 and ISO C++14.  Note: for
  3224  //    compatibility with various implementations of <cstdio>, this test
  3225  //    must consider only the value of __cplusplus when compiling C++.
  3226  
  3227  // GNU formerly extended the scanf functions with modified format
  3228  //    specifiers %as, %aS, and %a[...] that allocate a buffer for the
  3229  //    input using malloc.  This extension conflicts with ISO C99, which
  3230  //    defines %a as a standalone format specifier that reads a floating-
  3231  //    point number; moreover, POSIX.1-2008 provides the same feature
  3232  //    using the modifier letter 'm' instead (%ms, %mS, %m[...]).
  3233  //
  3234  //    We now follow C99 unless GNU extensions are active and the compiler
  3235  //    is specifically in C89 or C++98 mode (strict or not).  For
  3236  //    instance, with GCC, -std=gnu11 will have C99-compliant scanf with
  3237  //    or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
  3238  //    old extension.
  3239  
  3240  // Get definitions of __STDC_* predefined macros, if the compiler has
  3241  //    not preincluded this header automatically.
  3242  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3243  //    This file is part of the GNU C Library.
  3244  //
  3245  //    The GNU C Library is free software; you can redistribute it and/or
  3246  //    modify it under the terms of the GNU Lesser General Public
  3247  //    License as published by the Free Software Foundation; either
  3248  //    version 2.1 of the License, or (at your option) any later version.
  3249  //
  3250  //    The GNU C Library is distributed in the hope that it will be useful,
  3251  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3252  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3253  //    Lesser General Public License for more details.
  3254  //
  3255  //    You should have received a copy of the GNU Lesser General Public
  3256  //    License along with the GNU C Library; if not, see
  3257  //    <https://www.gnu.org/licenses/>.
  3258  
  3259  // This macro indicates that the installed library is the GNU C Library.
  3260  //    For historic reasons the value now is 6 and this will stay from now
  3261  //    on.  The use of this variable is deprecated.  Use __GLIBC__ and
  3262  //    __GLIBC_MINOR__ now (see below) when you want to test for a specific
  3263  //    GNU C library version and use the values in <gnu/lib-names.h> to get
  3264  //    the sonames of the shared libraries.
  3265  
  3266  // Major and minor version number of the GNU C library package.  Use
  3267  //    these macros to test for features in specific releases.
  3268  
  3269  // This is here only because every header file already includes this one.
  3270  // Copyright (C) 1992-2022 Free Software Foundation, Inc.
  3271  //    Copyright The GNU Toolchain Authors.
  3272  //    This file is part of the GNU C Library.
  3273  //
  3274  //    The GNU C Library is free software; you can redistribute it and/or
  3275  //    modify it under the terms of the GNU Lesser General Public
  3276  //    License as published by the Free Software Foundation; either
  3277  //    version 2.1 of the License, or (at your option) any later version.
  3278  //
  3279  //    The GNU C Library is distributed in the hope that it will be useful,
  3280  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3281  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3282  //    Lesser General Public License for more details.
  3283  //
  3284  //    You should have received a copy of the GNU Lesser General Public
  3285  //    License along with the GNU C Library; if not, see
  3286  //    <https://www.gnu.org/licenses/>.
  3287  
  3288  // We are almost always included from features.h.
  3289  
  3290  // The GNU libc does not support any K&R compilers or the traditional mode
  3291  //    of ISO C compilers anymore.  Check for some of the combinations not
  3292  //    supported anymore.
  3293  
  3294  // Some user header file might have defined this before.
  3295  
  3296  // Compilers that lack __has_attribute may object to
  3297  //        #if defined __has_attribute && __has_attribute (...)
  3298  //    even though they do not need to evaluate the right-hand side of the &&.
  3299  //    Similarly for __has_builtin, etc.
  3300  
  3301  // All functions, except those with callbacks or those that
  3302  //    synchronize memory, are leaf functions.
  3303  
  3304  // GCC can always grok prototypes.  For C++ programs we add throw()
  3305  //    to help it optimize the function calls.  But this only works with
  3306  //    gcc 2.8.x and egcs.  For gcc 3.4 and up we even mark C functions
  3307  //    as non-throwing using a function attribute since programs can use
  3308  //    the -fexceptions options for C code as well.
  3309  
  3310  // These two macros are not used in glibc anymore.  They are kept here
  3311  //    only because some other projects expect the macros to be defined.
  3312  
  3313  // For these things, GCC behaves the ANSI way normally,
  3314  //    and the non-ANSI way under -traditional.
  3315  
  3316  // This is not a typedef so `const __ptr_t' does the right thing.
  3317  
  3318  // C++ needs to know that types and declarations are C, not C++.
  3319  
  3320  // Fortify support.
  3321  
  3322  // Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available.
  3323  
  3324  // Compile time conditions to choose between the regular, _chk and _chk_warn
  3325  //    variants.  These conditions should get evaluated to constant and optimized
  3326  //    away.
  3327  
  3328  // Length is known to be safe at compile time if the __L * __S <= __OBJSZ
  3329  //    condition can be folded to a constant and if it is true.  The -1 check is
  3330  //    redundant because since it implies that __glibc_safe_len_cond is true.
  3331  
  3332  // Conversely, we know at compile time that the length is unsafe if the
  3333  //    __L * __S <= __OBJSZ condition can be folded to a constant and if it is
  3334  //    false.
  3335  
  3336  // Fortify function f.  __f_alias, __f_chk and __f_chk_warn must be
  3337  //    declared.
  3338  
  3339  // Fortify function f, where object size argument passed to f is the number of
  3340  //    elements and not total size.
  3341  
  3342  // Support for flexible arrays.
  3343  //    Headers that should use flexible arrays only if they're "real"
  3344  //    (e.g. only if they won't affect sizeof()) should test
  3345  //    #if __glibc_c99_flexarr_available.
  3346  
  3347  // __asm__ ("xyz") is used throughout the headers to rename functions
  3348  //    at the assembly language level.  This is wrapped by the __REDIRECT
  3349  //    macro, in order to support compilers that can do this some other
  3350  //    way.  When compilers don't support asm-names at all, we have to do
  3351  //    preprocessor tricks instead (which don't have exactly the right
  3352  //    semantics, but it's the best we can do).
  3353  //
  3354  //    Example:
  3355  //    int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
  3356  
  3357  //
  3358  // #elif __SOME_OTHER_COMPILER__
  3359  //
  3360  // # define __REDIRECT(name, proto, alias) name proto; 	_Pragma("let " #name " = " #alias)
  3361  
  3362  // GCC and clang have various useful declarations that can be made with
  3363  //    the '__attribute__' syntax.  All of the ways we use this do fine if
  3364  //    they are omitted for compilers that don't understand it.
  3365  
  3366  // At some point during the gcc 2.96 development the `malloc' attribute
  3367  //    for functions was introduced.  We don't want to use it unconditionally
  3368  //    (although this would be possible) since it generates warnings.
  3369  
  3370  // Tell the compiler which arguments to an allocation function
  3371  //    indicate the size of the allocation.
  3372  
  3373  // Tell the compiler which argument to an allocation function
  3374  //    indicates the alignment of the allocation.
  3375  
  3376  // At some point during the gcc 2.96 development the `pure' attribute
  3377  //    for functions was introduced.  We don't want to use it unconditionally
  3378  //    (although this would be possible) since it generates warnings.
  3379  
  3380  // This declaration tells the compiler that the value is constant.
  3381  
  3382  // At some point during the gcc 3.1 development the `used' attribute
  3383  //    for functions was introduced.  We don't want to use it unconditionally
  3384  //    (although this would be possible) since it generates warnings.
  3385  
  3386  // Since version 3.2, gcc allows marking deprecated functions.
  3387  
  3388  // Since version 4.5, gcc also allows one to specify the message printed
  3389  //    when a deprecated function is used.  clang claims to be gcc 4.2, but
  3390  //    may also support this feature.
  3391  
  3392  // At some point during the gcc 2.8 development the `format_arg' attribute
  3393  //    for functions was introduced.  We don't want to use it unconditionally
  3394  //    (although this would be possible) since it generates warnings.
  3395  //    If several `format_arg' attributes are given for the same function, in
  3396  //    gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
  3397  //    all designated arguments are considered.
  3398  
  3399  // At some point during the gcc 2.97 development the `strfmon' format
  3400  //    attribute for functions was introduced.  We don't want to use it
  3401  //    unconditionally (although this would be possible) since it
  3402  //    generates warnings.
  3403  
  3404  // The nonnull function attribute marks pointer parameters that
  3405  //    must not be NULL.  This has the name __nonnull in glibc,
  3406  //    and __attribute_nonnull__ in files shared with Gnulib to avoid
  3407  //    collision with a different __nonnull in DragonFlyBSD 5.9.
  3408  
  3409  // The returns_nonnull function attribute marks the return type of the function
  3410  //    as always being non-null.
  3411  
  3412  // If fortification mode, we warn about unused results of certain
  3413  //    function calls which can lead to problems.
  3414  
  3415  // Forces a function to be always inlined.
  3416  // The Linux kernel defines __always_inline in stddef.h (283d7573), and
  3417  //    it conflicts with this definition.  Therefore undefine it first to
  3418  //    allow either header to be included first.
  3419  
  3420  // Associate error messages with the source location of the call site rather
  3421  //    than with the source location inside the function.
  3422  
  3423  // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
  3424  //    inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
  3425  //    or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
  3426  //    older than 4.3 may define these macros and still not guarantee GNU inlining
  3427  //    semantics.
  3428  //
  3429  //    clang++ identifies itself as gcc-4.2, but has support for GNU inlining
  3430  //    semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
  3431  //    __GNUC_GNU_INLINE__ macro definitions.
  3432  
  3433  // GCC 4.3 and above allow passing all anonymous arguments of an
  3434  //    __extern_always_inline function to some other vararg function.
  3435  
  3436  // It is possible to compile containing GCC extensions even if GCC is
  3437  //    run in pedantic mode if the uses are carefully marked using the
  3438  //    `__extension__' keyword.  But this is not generally available before
  3439  //    version 2.8.
  3440  
  3441  // __restrict is known in EGCS 1.2 and above, and in clang.
  3442  //    It works also in C++ mode (outside of arrays), but only when spelled
  3443  //    as '__restrict', not 'restrict'.
  3444  
  3445  // ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
  3446  //      array_name[restrict]
  3447  //    GCC 3.1 and clang support this.
  3448  //    This syntax is not usable in C++ mode.
  3449  
  3450  // Describes a char array whose address can safely be passed as the first
  3451  //    argument to strncpy and strncat, as the char array is not necessarily
  3452  //    a NUL-terminated string.
  3453  
  3454  // Undefine (also defined in libc-symbols.h).
  3455  // Copies attributes from the declaration or type referenced by
  3456  //    the argument.
  3457  
  3458  // Gnulib avoids including these, as they don't work on non-glibc or
  3459  //    older glibc platforms.
  3460  // Determine the wordsize from the preprocessor defines.
  3461  
  3462  // Both x86-64 and x32 use the 64-bit system call interface.
  3463  // Properties of long double type.  ldbl-96 version.
  3464  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  3465  //    This file is part of the GNU C Library.
  3466  //
  3467  //    The GNU C Library is free software; you can redistribute it and/or
  3468  //    modify it under the terms of the GNU Lesser General Public
  3469  //    License  published by the Free Software Foundation; either
  3470  //    version 2.1 of the License, or (at your option) any later version.
  3471  //
  3472  //    The GNU C Library is distributed in the hope that it will be useful,
  3473  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3474  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3475  //    Lesser General Public License for more details.
  3476  //
  3477  //    You should have received a copy of the GNU Lesser General Public
  3478  //    License along with the GNU C Library; if not, see
  3479  //    <https://www.gnu.org/licenses/>.
  3480  
  3481  // long double is distinct from double, so there is nothing to
  3482  //    define here.
  3483  
  3484  // __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
  3485  //    intended for use in preprocessor macros.
  3486  //
  3487  //    Note: MESSAGE must be a _single_ string; concatenation of string
  3488  //    literals is not supported.
  3489  
  3490  // Generic selection (ISO C11) is a C-only feature, available in GCC
  3491  //    since version 4.9.  Previous versions do not provide generic
  3492  //    selection, even though they might set __STDC_VERSION__ to 201112L,
  3493  //    when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
  3494  //    when testing __STDC_VERSION__ for generic selection support.
  3495  //    On the other hand, Clang also defines __GNUC__, so a clang-specific
  3496  //    check is required to enable the use of generic selection.
  3497  
  3498  // Designates a 1-based positional argument ref-index of pointer type
  3499  //    that can be used to access size-index elements of the pointed-to
  3500  //    array according to access mode, or at least one element when
  3501  //    size-index is not provided:
  3502  //      access (access-mode, <ref-index> [, <size-index>])
  3503  // For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
  3504  //    use the access attribute to get object sizes from function definition
  3505  //    arguments, so we can't use them on functions we fortify.  Drop the object
  3506  //    size hints for such functions.
  3507  
  3508  // Designates dealloc as a function to call to deallocate objects
  3509  //    allocated by the declared function.
  3510  
  3511  // Specify that a function such as setjmp or vfork may return
  3512  //    twice.
  3513  
  3514  // If we don't have __REDIRECT, prototypes will be missing if
  3515  //    __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
  3516  
  3517  // Decide whether we can define 'extern inline' functions in headers.
  3518  
  3519  // This is here only because every header file already includes this one.
  3520  //    Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
  3521  //    <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
  3522  //    that will always return failure (and set errno to ENOSYS).
  3523  // This file is automatically generated.
  3524  //    This file selects the right generated file of `__stub_FUNCTION' macros
  3525  //    based on the architecture being compiled for.
  3526  
  3527  // This file is automatically generated.
  3528  //    It defines a symbol `__stub_FUNCTION' for each function
  3529  //    in the C library which is a stub, meaning it will fail
  3530  //    every time called, usually setting errno to ENOSYS.
  3531  
  3532  // bits/types.h -- definitions of __*_t types underlying *_t types.
  3533  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  3534  //    This file is part of the GNU C Library.
  3535  //
  3536  //    The GNU C Library is free software; you can redistribute it and/or
  3537  //    modify it under the terms of the GNU Lesser General Public
  3538  //    License as published by the Free Software Foundation; either
  3539  //    version 2.1 of the License, or (at your option) any later version.
  3540  //
  3541  //    The GNU C Library is distributed in the hope that it will be useful,
  3542  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3543  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3544  //    Lesser General Public License for more details.
  3545  //
  3546  //    You should have received a copy of the GNU Lesser General Public
  3547  //    License along with the GNU C Library; if not, see
  3548  //    <https://www.gnu.org/licenses/>.
  3549  
  3550  // Never include this file directly; use <sys/types.h> instead.
  3551  
  3552  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3553  //    This file is part of the GNU C Library.
  3554  //
  3555  //    The GNU C Library is free software; you can redistribute it and/or
  3556  //    modify it under the terms of the GNU Lesser General Public
  3557  //    License as published by the Free Software Foundation; either
  3558  //    version 2.1 of the License, or (at your option) any later version.
  3559  //
  3560  //    The GNU C Library is distributed in the hope that it will be useful,
  3561  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3562  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3563  //    Lesser General Public License for more details.
  3564  //
  3565  //    You should have received a copy of the GNU Lesser General Public
  3566  //    License along with the GNU C Library; if not, see
  3567  //    <https://www.gnu.org/licenses/>.
  3568  
  3569  // Determine the wordsize from the preprocessor defines.
  3570  
  3571  // Both x86-64 and x32 use the 64-bit system call interface.
  3572  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  3573  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3574  //    This file is part of the GNU C Library.
  3575  //
  3576  //    The GNU C Library is free software; you can redistribute it and/or
  3577  //    modify it under the terms of the GNU Lesser General Public
  3578  //    License as published by the Free Software Foundation; either
  3579  //    version 2.1 of the License, or (at your option) any later version.
  3580  //
  3581  //    The GNU C Library is distributed in the hope that it will be useful,
  3582  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3583  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3584  //    Lesser General Public License for more details.
  3585  //
  3586  //    You should have received a copy of the GNU Lesser General Public
  3587  //    License along with the GNU C Library; if not, see
  3588  //    <https://www.gnu.org/licenses/>.
  3589  
  3590  // Determine the wordsize from the preprocessor defines.
  3591  
  3592  // Both x86-64 and x32 use the 64-bit system call interface.
  3593  
  3594  // For others, time size is word size.
  3595  
  3596  // Convenience types.
  3597  type T__u_char = uint8   /* types.h:31:23 */
  3598  type T__u_short = uint16 /* types.h:32:28 */
  3599  type T__u_int = uint32   /* types.h:33:22 */
  3600  type T__u_long = uint64  /* types.h:34:27 */
  3601  
  3602  // Fixed-size types, underlying types depend on word size and compiler.
  3603  type T__int8_t = int8     /* types.h:37:21 */
  3604  type T__uint8_t = uint8   /* types.h:38:23 */
  3605  type T__int16_t = int16   /* types.h:39:26 */
  3606  type T__uint16_t = uint16 /* types.h:40:28 */
  3607  type T__int32_t = int32   /* types.h:41:20 */
  3608  type T__uint32_t = uint32 /* types.h:42:22 */
  3609  type T__int64_t = int64   /* types.h:44:25 */
  3610  type T__uint64_t = uint64 /* types.h:45:27 */
  3611  
  3612  // Smallest types with at least a given width.
  3613  type T__int_least8_t = T__int8_t     /* types.h:52:18 */
  3614  type T__uint_least8_t = T__uint8_t   /* types.h:53:19 */
  3615  type T__int_least16_t = T__int16_t   /* types.h:54:19 */
  3616  type T__uint_least16_t = T__uint16_t /* types.h:55:20 */
  3617  type T__int_least32_t = T__int32_t   /* types.h:56:19 */
  3618  type T__uint_least32_t = T__uint32_t /* types.h:57:20 */
  3619  type T__int_least64_t = T__int64_t   /* types.h:58:19 */
  3620  type T__uint_least64_t = T__uint64_t /* types.h:59:20 */
  3621  
  3622  // quad_t is also 64 bits.
  3623  type T__quad_t = int64    /* types.h:63:18 */
  3624  type T__u_quad_t = uint64 /* types.h:64:27 */
  3625  
  3626  // Largest integral types.
  3627  type T__intmax_t = int64   /* types.h:72:18 */
  3628  type T__uintmax_t = uint64 /* types.h:73:27 */
  3629  
  3630  // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
  3631  //    macros for each of the OS types we define below.  The definitions
  3632  //    of those macros must use the following macros for underlying types.
  3633  //    We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
  3634  //    variants of each of the following integer types on this machine.
  3635  //
  3636  // 	16		-- "natural" 16-bit type (always short)
  3637  // 	32		-- "natural" 32-bit type (always int)
  3638  // 	64		-- "natural" 64-bit type (long or long long)
  3639  // 	LONG32		-- 32-bit type, traditionally long
  3640  // 	QUAD		-- 64-bit type, traditionally long long
  3641  // 	WORD		-- natural type of __WORDSIZE bits (int or long)
  3642  // 	LONGWORD	-- type of __WORDSIZE bits, traditionally long
  3643  //
  3644  //    We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
  3645  //    conventional uses of `long' or `long long' type modifiers match the
  3646  //    types we define, even when a less-adorned type would be the same size.
  3647  //    This matters for (somewhat) portably writing printf/scanf formats for
  3648  //    these types, where using the appropriate l or ll format modifiers can
  3649  //    make the typedefs and the formats match up across all GNU platforms.  If
  3650  //    we used `long' when it's 64 bits where `long long' is expected, then the
  3651  //    compiler would warn about the formats not matching the argument types,
  3652  //    and the programmer changing them to shut up the compiler would break the
  3653  //    program's portability.
  3654  //
  3655  //    Here we assume what is presently the case in all the GCC configurations
  3656  //    we support: long long is always 64 bits, long is always word/address size,
  3657  //    and int is always 32 bits.
  3658  
  3659  // No need to mark the typedef with __extension__.
  3660  // bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
  3661  //    Copyright (C) 2012-2022 Free Software Foundation, Inc.
  3662  //    This file is part of the GNU C Library.
  3663  //
  3664  //    The GNU C Library is free software; you can redistribute it and/or
  3665  //    modify it under the terms of the GNU Lesser General Public
  3666  //    License as published by the Free Software Foundation; either
  3667  //    version 2.1 of the License, or (at your option) any later version.
  3668  //
  3669  //    The GNU C Library is distributed in the hope that it will be useful,
  3670  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3671  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3672  //    Lesser General Public License for more details.
  3673  //
  3674  //    You should have received a copy of the GNU Lesser General Public
  3675  //    License along with the GNU C Library; if not, see
  3676  //    <https://www.gnu.org/licenses/>.
  3677  
  3678  // See <bits/types.h> for the meaning of these macros.  This file exists so
  3679  //    that <bits/types.h> need not vary across different GNU platforms.
  3680  
  3681  // X32 kernel interface is 64-bit.
  3682  
  3683  // Tell the libc code that off_t and off64_t are actually the same type
  3684  //    for all ABI purposes, even if possibly expressed as different base types
  3685  //    for C type-checking purposes.
  3686  
  3687  // Same for ino_t and ino64_t.
  3688  
  3689  // And for __rlim_t and __rlim64_t.
  3690  
  3691  // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
  3692  
  3693  // And for getitimer, setitimer and rusage
  3694  
  3695  // Number of descriptors that can fit in an `fd_set'.
  3696  
  3697  // bits/time64.h -- underlying types for __time64_t.  Generic version.
  3698  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3699  //    This file is part of the GNU C Library.
  3700  //
  3701  //    The GNU C Library is free software; you can redistribute it and/or
  3702  //    modify it under the terms of the GNU Lesser General Public
  3703  //    License as published by the Free Software Foundation; either
  3704  //    version 2.1 of the License, or (at your option) any later version.
  3705  //
  3706  //    The GNU C Library is distributed in the hope that it will be useful,
  3707  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3708  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3709  //    Lesser General Public License for more details.
  3710  //
  3711  //    You should have received a copy of the GNU Lesser General Public
  3712  //    License along with the GNU C Library; if not, see
  3713  //    <https://www.gnu.org/licenses/>.
  3714  
  3715  // Define __TIME64_T_TYPE so that it is always a 64-bit type.
  3716  
  3717  // If we already have 64-bit time type then use it.
  3718  
  3719  type T__dev_t = uint64                     /* types.h:145:25 */ // Type of device numbers.
  3720  type T__uid_t = uint32                     /* types.h:146:25 */ // Type of user identifications.
  3721  type T__gid_t = uint32                     /* types.h:147:25 */ // Type of group identifications.
  3722  type T__ino_t = uint64                     /* types.h:148:25 */ // Type of file serial numbers.
  3723  type T__ino64_t = uint64                   /* types.h:149:27 */ // Type of file serial numbers (LFS).
  3724  type T__mode_t = uint32                    /* types.h:150:26 */ // Type of file attribute bitmasks.
  3725  type T__nlink_t = uint64                   /* types.h:151:27 */ // Type of file link counts.
  3726  type T__off_t = int64                      /* types.h:152:25 */ // Type of file sizes and offsets.
  3727  type T__off64_t = int64                    /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
  3728  type T__pid_t = int32                      /* types.h:154:25 */ // Type of process identifications.
  3729  type T__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
  3730  type T__clock_t = int64                    /* types.h:156:27 */ // Type of CPU usage counts.
  3731  type T__rlim_t = uint64                    /* types.h:157:26 */ // Type for resource measurement.
  3732  type T__rlim64_t = uint64                  /* types.h:158:28 */ // Type for resource measurement (LFS).
  3733  type T__id_t = uint32                      /* types.h:159:24 */ // General type for IDs.
  3734  type T__time_t = int64                     /* types.h:160:26 */ // Seconds since the Epoch.
  3735  type T__useconds_t = uint32                /* types.h:161:30 */ // Count of microseconds.
  3736  type T__suseconds_t = int64                /* types.h:162:31 */ // Signed count of microseconds.
  3737  type T__suseconds64_t = int64              /* types.h:163:33 */
  3738  
  3739  type T__daddr_t = int32 /* types.h:165:27 */ // The type of a disk address.
  3740  type T__key_t = int32   /* types.h:166:25 */ // Type of an IPC key.
  3741  
  3742  // Clock ID used in clock and timer functions.
  3743  type T__clockid_t = int32 /* types.h:169:29 */
  3744  
  3745  // Timer ID returned by `timer_create'.
  3746  type T__timer_t = uintptr /* types.h:172:12 */
  3747  
  3748  // Type to represent block size.
  3749  type T__blksize_t = int64 /* types.h:175:29 */
  3750  
  3751  // Types from the Large File Support interface.
  3752  
  3753  // Type to count number of disk blocks.
  3754  type T__blkcnt_t = int64   /* types.h:180:28 */
  3755  type T__blkcnt64_t = int64 /* types.h:181:30 */
  3756  
  3757  // Type to count file system blocks.
  3758  type T__fsblkcnt_t = uint64   /* types.h:184:30 */
  3759  type T__fsblkcnt64_t = uint64 /* types.h:185:32 */
  3760  
  3761  // Type to count file system nodes.
  3762  type T__fsfilcnt_t = uint64   /* types.h:188:30 */
  3763  type T__fsfilcnt64_t = uint64 /* types.h:189:32 */
  3764  
  3765  // Type of miscellaneous file system fields.
  3766  type T__fsword_t = int64 /* types.h:192:28 */
  3767  
  3768  type T__ssize_t = int64 /* types.h:194:27 */ // Type of a byte count, or error.
  3769  
  3770  // Signed long type used in system calls.
  3771  type T__syscall_slong_t = int64 /* types.h:197:33 */
  3772  // Unsigned long type used in system calls.
  3773  type T__syscall_ulong_t = uint64 /* types.h:199:33 */
  3774  
  3775  // These few don't really vary by system, they always correspond
  3776  //    to one of the other defined types.
  3777  type T__loff_t = T__off64_t /* types.h:203:19 */ // Type of file sizes and offsets (LFS).
  3778  type T__caddr_t = uintptr   /* types.h:204:14 */
  3779  
  3780  // Duplicates info from stdint.h but this is used in unistd.h.
  3781  type T__intptr_t = int64 /* types.h:207:25 */
  3782  
  3783  // Duplicate info from sys/socket.h.
  3784  type T__socklen_t = uint32 /* types.h:210:23 */
  3785  
  3786  // C99: An integer type that can be accessed as an atomic entity,
  3787  //    even in the presence of asynchronous interrupts.
  3788  //    It is not currently necessary for this to be machine-specific.
  3789  type T__sig_atomic_t = int32 /* types.h:215:13 */
  3790  
  3791  // This code is needed for the optimized mapping functions.
  3792  
  3793  // POSIX.1-2008 extended locale interface (see locale.h).
  3794  // Definition of locale_t.
  3795  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  3796  //    This file is part of the GNU C Library.
  3797  //
  3798  //    The GNU C Library is free software; you can redistribute it and/or
  3799  //    modify it under the terms of the GNU Lesser General Public
  3800  //    License as published by the Free Software Foundation; either
  3801  //    version 2.1 of the License, or (at your option) any later version.
  3802  //
  3803  //    The GNU C Library is distributed in the hope that it will be useful,
  3804  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3805  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3806  //    Lesser General Public License for more details.
  3807  //
  3808  //    You should have received a copy of the GNU Lesser General Public
  3809  //    License along with the GNU C Library; if not, see
  3810  //    <https://www.gnu.org/licenses/>.
  3811  
  3812  // Definition of struct __locale_struct and __locale_t.
  3813  //    Copyright (C) 1997-2022 Free Software Foundation, Inc.
  3814  //    This file is part of the GNU C Library.
  3815  //
  3816  //    The GNU C Library is free software; you can redistribute it and/or
  3817  //    modify it under the terms of the GNU Lesser General Public
  3818  //    License as published by the Free Software Foundation; either
  3819  //    version 2.1 of the License, or (at your option) any later version.
  3820  //
  3821  //    The GNU C Library is distributed in the hope that it will be useful,
  3822  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3823  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3824  //    Lesser General Public License for more details.
  3825  //
  3826  //    You should have received a copy of the GNU Lesser General Public
  3827  //    License along with the GNU C Library; if not, see
  3828  //    <https://www.gnu.org/licenses/>.
  3829  
  3830  // POSIX.1-2008: the locale_t type, representing a locale context
  3831  //    (implementation-namespace version).  This type should be treated
  3832  //    as opaque by applications; some details are exposed for the sake of
  3833  //    efficiency in e.g. ctype functions.
  3834  
  3835  type S__locale_struct = struct {
  3836  	F__locales       [13]uintptr
  3837  	F__ctype_b       uintptr
  3838  	F__ctype_tolower uintptr
  3839  	F__ctype_toupper uintptr
  3840  	F__names         [13]uintptr
  3841  } /* __locale_t.h:27:1 */
  3842  
  3843  type T__locale_t = uintptr /* __locale_t.h:41:32 */
  3844  
  3845  type Tlocale_t = T__locale_t /* locale_t.h:24:20 */
  3846  
  3847  // A null pointer constant.
  3848  
  3849  // Offset of member MEMBER in a struct of type TYPE.
  3850  
  3851  // Type whose alignment is supported in every context and is at least
  3852  //    as great as that of any standard type not using alignment
  3853  //    specifiers.
  3854  type Tmax_align_t = struct {
  3855  	F__max_align_ll int64
  3856  	F__max_align_ld float64
  3857  } /* stddef.h:426:3 */
  3858  
  3859  // Define ISO C stdio on top of C++ iostreams.
  3860  //    Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3861  //    This file is part of the GNU C Library.
  3862  //
  3863  //    The GNU C Library is free software; you can redistribute it and/or
  3864  //    modify it under the terms of the GNU Lesser General Public
  3865  //    License as published by the Free Software Foundation; either
  3866  //    version 2.1 of the License, or (at your option) any later version.
  3867  //
  3868  //    The GNU C Library is distributed in the hope that it will be useful,
  3869  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3870  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3871  //    Lesser General Public License for more details.
  3872  //
  3873  //    You should have received a copy of the GNU Lesser General Public
  3874  //    License along with the GNU C Library; if not, see
  3875  //    <https://www.gnu.org/licenses/>.
  3876  
  3877  //	ISO C99 Standard: 7.19 Input/output	<stdio.h>
  3878  
  3879  // Handle feature test macros at the start of a header.
  3880  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  3881  //    This file is part of the GNU C Library.
  3882  //
  3883  //    The GNU C Library is free software; you can redistribute it and/or
  3884  //    modify it under the terms of the GNU Lesser General Public
  3885  //    License as published by the Free Software Foundation; either
  3886  //    version 2.1 of the License, or (at your option) any later version.
  3887  //
  3888  //    The GNU C Library is distributed in the hope that it will be useful,
  3889  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3890  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3891  //    Lesser General Public License for more details.
  3892  //
  3893  //    You should have received a copy of the GNU Lesser General Public
  3894  //    License along with the GNU C Library; if not, see
  3895  //    <https://www.gnu.org/licenses/>.
  3896  
  3897  // This header is internal to glibc and should not be included outside
  3898  //    of glibc headers.  Headers including it must define
  3899  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3900  //    cannot have multiple include guards because ISO C feature test
  3901  //    macros depend on the definition of the macro when an affected
  3902  //    header is included, not when the first system header is
  3903  //    included.
  3904  
  3905  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3906  //    This file is part of the GNU C Library.
  3907  //
  3908  //    The GNU C Library is free software; you can redistribute it and/or
  3909  //    modify it under the terms of the GNU Lesser General Public
  3910  //    License as published by the Free Software Foundation; either
  3911  //    version 2.1 of the License, or (at your option) any later version.
  3912  //
  3913  //    The GNU C Library is distributed in the hope that it will be useful,
  3914  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3915  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3916  //    Lesser General Public License for more details.
  3917  //
  3918  //    You should have received a copy of the GNU Lesser General Public
  3919  //    License along with the GNU C Library; if not, see
  3920  //    <https://www.gnu.org/licenses/>.
  3921  
  3922  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  3923  //    macro.
  3924  
  3925  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  3926  //    macro.  Most but not all symbols enabled by that macro in TS
  3927  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  3928  //    Annex F still require a new feature test macro
  3929  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  3930  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  3931  //    18661-1 are not included in C2X (and thus should depend on
  3932  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  3933  //    enabled).
  3934  //
  3935  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  3936  //    18661-1 not included in C2X.
  3937  //
  3938  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  3939  //    18661-1 that are also included in C2X (with no feature test macro
  3940  //    required in C2X).
  3941  //
  3942  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  3943  //    that are included in C2X but conditional on
  3944  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  3945  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  3946  //    18661-1.)
  3947  
  3948  // ISO/IEC TS 18661-4:2015 defines the
  3949  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  3950  //    functions, the symbols from this TS are enabled unconditionally in
  3951  //    C2X.
  3952  
  3953  // ISO/IEC TS 18661-3:2015 defines the
  3954  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  3955  
  3956  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  3957  //
  3958  // This file is part of GCC.
  3959  //
  3960  // GCC is free software; you can redistribute it and/or modify
  3961  // it under the terms of the GNU General Public License as published by
  3962  // the Free Software Foundation; either version 3, or (at your option)
  3963  // any later version.
  3964  //
  3965  // GCC is distributed in the hope that it will be useful,
  3966  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  3967  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3968  // GNU General Public License for more details.
  3969  //
  3970  // Under Section 7 of GPL version 3, you are granted additional
  3971  // permissions described in the GCC Runtime Library Exception, version
  3972  // 3.1, as published by the Free Software Foundation.
  3973  //
  3974  // You should have received a copy of the GNU General Public License and
  3975  // a copy of the GCC Runtime Library Exception along with this program;
  3976  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  3977  // <http://www.gnu.org/licenses/>.
  3978  
  3979  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  3980  
  3981  // Any one of these symbols __need_* means that GNU libc
  3982  //    wants us just to define one data type.  So don't define
  3983  //    the symbols that indicate this file's entire job has been done.
  3984  
  3985  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  3986  //    There's no way to win with the other order!  Sun lossage.
  3987  
  3988  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  3989  //    Just ignore it.
  3990  
  3991  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  3992  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  3993  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  3994  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  3995  //    If we find that the macros are still defined at this point, we must
  3996  //    invoke them so that the type is defined as expected.
  3997  
  3998  // In case nobody has defined these types, but we aren't running under
  3999  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4000  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4001  //    parts of GCC is compiled by an older compiler, that actually
  4002  //    include gstddef.h, such as collect2.
  4003  
  4004  // Signed type of difference of two pointers.
  4005  
  4006  // Define this type if we are doing the whole job,
  4007  //    or if we want this type in particular.
  4008  
  4009  // If this symbol has done its job, get rid of it.
  4010  
  4011  // Unsigned type of `sizeof' something.
  4012  
  4013  // Define this type if we are doing the whole job,
  4014  //    or if we want this type in particular.
  4015  
  4016  // Wide character type.
  4017  //    Locale-writers should change this as necessary to
  4018  //    be big enough to hold unique values not between 0 and 127,
  4019  //    and not (wchar_t) -1, for each defined multibyte character.
  4020  
  4021  // Define this type if we are doing the whole job,
  4022  //    or if we want this type in particular.
  4023  
  4024  // A null pointer constant.
  4025  
  4026  // Offset of member MEMBER in a struct of type TYPE.
  4027  
  4028  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4029  //
  4030  // This file is part of GCC.
  4031  //
  4032  // GCC is free software; you can redistribute it and/or modify
  4033  // it under the terms of the GNU General Public License as published by
  4034  // the Free Software Foundation; either version 3, or (at your option)
  4035  // any later version.
  4036  //
  4037  // GCC is distributed in the hope that it will be useful,
  4038  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4039  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4040  // GNU General Public License for more details.
  4041  //
  4042  // Under Section 7 of GPL version 3, you are granted additional
  4043  // permissions described in the GCC Runtime Library Exception, version
  4044  // 3.1, as published by the Free Software Foundation.
  4045  //
  4046  // You should have received a copy of the GNU General Public License and
  4047  // a copy of the GCC Runtime Library Exception along with this program;
  4048  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4049  // <http://www.gnu.org/licenses/>.
  4050  
  4051  // ISO C Standard:  7.15  Variable arguments  <stdarg.h>
  4052  
  4053  // Define __gnuc_va_list.
  4054  
  4055  type T__gnuc_va_list = T__builtin_va_list /* stdarg.h:40:27 */
  4056  
  4057  // Define the standard macros for the user,
  4058  //    if this invocation was from the user program.
  4059  
  4060  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4061  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4062  //    This file is part of the GNU C Library.
  4063  //
  4064  //    The GNU C Library is free software; you can redistribute it and/or
  4065  //    modify it under the terms of the GNU Lesser General Public
  4066  //    License as published by the Free Software Foundation; either
  4067  //    version 2.1 of the License, or (at your option) any later version.
  4068  //
  4069  //    The GNU C Library is distributed in the hope that it will be useful,
  4070  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4071  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4072  //    Lesser General Public License for more details.
  4073  //
  4074  //    You should have received a copy of the GNU Lesser General Public
  4075  //    License along with the GNU C Library; if not, see
  4076  //    <https://www.gnu.org/licenses/>.
  4077  
  4078  // Never include this file directly; use <sys/types.h> instead.
  4079  
  4080  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4081  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4082  //    This file is part of the GNU C Library.
  4083  //
  4084  //    The GNU C Library is free software; you can redistribute it and/or
  4085  //    modify it under the terms of the GNU Lesser General Public
  4086  //    License as published by the Free Software Foundation; either
  4087  //    version 2.1 of the License, or (at your option) any later version.
  4088  //
  4089  //    The GNU C Library is distributed in the hope that it will be useful,
  4090  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4091  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4092  //    Lesser General Public License for more details.
  4093  //
  4094  //    You should have received a copy of the GNU Lesser General Public
  4095  //    License along with the GNU C Library; if not, see
  4096  //    <https://www.gnu.org/licenses/>.
  4097  
  4098  // Never include this file directly; use <sys/types.h> instead.
  4099  
  4100  // Integral type unchanged by default argument promotions that can
  4101  //    hold any value corresponding to members of the extended character
  4102  //    set, as well as at least one value that does not correspond to any
  4103  //    member of the extended character set.
  4104  
  4105  // Conversion state information.
  4106  type T__mbstate_t = struct {
  4107  	F__count int32
  4108  	F__value struct{ F__wch uint32 }
  4109  } /* __mbstate_t.h:21:3 */
  4110  
  4111  // The tag name of this struct is _G_fpos_t to preserve historic
  4112  //    C++ mangled names for functions taking fpos_t arguments.
  4113  //    That name should not be used in new code.
  4114  type S_G_fpos_t = struct {
  4115  	F__pos   T__off_t
  4116  	F__state T__mbstate_t
  4117  } /* __fpos_t.h:10:9 */
  4118  
  4119  // The tag name of this struct is _G_fpos_t to preserve historic
  4120  //    C++ mangled names for functions taking fpos_t arguments.
  4121  //    That name should not be used in new code.
  4122  type T__fpos_t = S_G_fpos_t /* __fpos_t.h:14:3 */
  4123  
  4124  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4125  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4126  //    This file is part of the GNU C Library.
  4127  //
  4128  //    The GNU C Library is free software; you can redistribute it and/or
  4129  //    modify it under the terms of the GNU Lesser General Public
  4130  //    License as published by the Free Software Foundation; either
  4131  //    version 2.1 of the License, or (at your option) any later version.
  4132  //
  4133  //    The GNU C Library is distributed in the hope that it will be useful,
  4134  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4135  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4136  //    Lesser General Public License for more details.
  4137  //
  4138  //    You should have received a copy of the GNU Lesser General Public
  4139  //    License along with the GNU C Library; if not, see
  4140  //    <https://www.gnu.org/licenses/>.
  4141  
  4142  // Never include this file directly; use <sys/types.h> instead.
  4143  
  4144  // The tag name of this struct is _G_fpos64_t to preserve historic
  4145  //    C++ mangled names for functions taking fpos_t and/or fpos64_t
  4146  //    arguments.  That name should not be used in new code.
  4147  type S_G_fpos64_t = struct {
  4148  	F__pos   T__off64_t
  4149  	F__state T__mbstate_t
  4150  } /* __fpos64_t.h:10:9 */
  4151  
  4152  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4153  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4154  //    This file is part of the GNU C Library.
  4155  //
  4156  //    The GNU C Library is free software; you can redistribute it and/or
  4157  //    modify it under the terms of the GNU Lesser General Public
  4158  //    License as published by the Free Software Foundation; either
  4159  //    version 2.1 of the License, or (at your option) any later version.
  4160  //
  4161  //    The GNU C Library is distributed in the hope that it will be useful,
  4162  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4163  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4164  //    Lesser General Public License for more details.
  4165  //
  4166  //    You should have received a copy of the GNU Lesser General Public
  4167  //    License along with the GNU C Library; if not, see
  4168  //    <https://www.gnu.org/licenses/>.
  4169  
  4170  // Never include this file directly; use <sys/types.h> instead.
  4171  
  4172  // The tag name of this struct is _G_fpos64_t to preserve historic
  4173  //    C++ mangled names for functions taking fpos_t and/or fpos64_t
  4174  //    arguments.  That name should not be used in new code.
  4175  type T__fpos64_t = S_G_fpos64_t /* __fpos64_t.h:14:3 */
  4176  
  4177  type S_IO_FILE = struct {
  4178  	F_flags          int32
  4179  	F__ccgo_pad1     [4]byte
  4180  	F_IO_read_ptr    uintptr
  4181  	F_IO_read_end    uintptr
  4182  	F_IO_read_base   uintptr
  4183  	F_IO_write_base  uintptr
  4184  	F_IO_write_ptr   uintptr
  4185  	F_IO_write_end   uintptr
  4186  	F_IO_buf_base    uintptr
  4187  	F_IO_buf_end     uintptr
  4188  	F_IO_save_base   uintptr
  4189  	F_IO_backup_base uintptr
  4190  	F_IO_save_end    uintptr
  4191  	F_markers        uintptr
  4192  	F_chain          uintptr
  4193  	F_fileno         int32
  4194  	F_flags2         int32
  4195  	F_old_offset     T__off_t
  4196  	F_cur_column     uint16
  4197  	F_vtable_offset  int8
  4198  	F_shortbuf       [1]int8
  4199  	F__ccgo_pad2     [4]byte
  4200  	F_lock           uintptr
  4201  	F_offset         T__off64_t
  4202  	F_codecvt        uintptr
  4203  	F_wide_data      uintptr
  4204  	F_freeres_list   uintptr
  4205  	F_freeres_buf    uintptr
  4206  	F__pad5          Tsize_t
  4207  	F_mode           int32
  4208  	F_unused2        [20]int8
  4209  } /* __FILE.h:4:1 */
  4210  
  4211  type T__FILE = S_IO_FILE /* __FILE.h:5:25 */
  4212  
  4213  // The opaque type of streams.  This is the definition used elsewhere.
  4214  type TFILE = S_IO_FILE /* FILE.h:7:25 */
  4215  
  4216  // The structure with the cookie function pointers.
  4217  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4218  //    preserve historic C++ mangled names for functions taking
  4219  //    cookie_io_functions_t arguments.  That name should not be used in
  4220  //    new code.
  4221  type S_IO_cookie_io_functions_t = struct {
  4222  	Fread  uintptr
  4223  	Fwrite uintptr
  4224  	Fseek  uintptr
  4225  	Fclose uintptr
  4226  } /* cookie_io_functions_t.h:55:9 */
  4227  
  4228  // The structure with the cookie function pointers.
  4229  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4230  //    preserve historic C++ mangled names for functions taking
  4231  //    cookie_io_functions_t arguments.  That name should not be used in
  4232  //    new code.
  4233  type Tcookie_io_functions_t = S_IO_cookie_io_functions_t /* cookie_io_functions_t.h:61:3 */
  4234  
  4235  type Tva_list = T__gnuc_va_list /* stdio.h:52:24 */
  4236  
  4237  type Toff_t = T__off64_t   /* stdio.h:65:19 */
  4238  type Toff64_t = T__off64_t /* stdio.h:70:19 */
  4239  
  4240  type Tssize_t = T__ssize_t /* stdio.h:77:19 */
  4241  
  4242  // The type of the second argument to `fgetpos' and `fsetpos'.
  4243  type Tfpos_t = T__fpos64_t   /* stdio.h:86:20 */
  4244  type Tfpos64_t = T__fpos64_t /* stdio.h:89:20 */
  4245  
  4246  // If we are compiling with optimizing read this file.  It contains
  4247  //    several optimizing inline functions and macros.
  4248  
  4249  // Macros to control TS 18661-3 glibc features on x86.
  4250  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4251  //    This file is part of the GNU C Library.
  4252  //
  4253  //    The GNU C Library is free software; you can redistribute it and/or
  4254  //    modify it under the terms of the GNU Lesser General Public
  4255  //    License as published by the Free Software Foundation; either
  4256  //    version 2.1 of the License, or (at your option) any later version.
  4257  //
  4258  //    The GNU C Library is distributed in the hope that it will be useful,
  4259  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4260  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4261  //    Lesser General Public License for more details.
  4262  //
  4263  //    You should have received a copy of the GNU Lesser General Public
  4264  //    License along with the GNU C Library; if not, see
  4265  //    <https://www.gnu.org/licenses/>.
  4266  
  4267  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4268  //    Copyright The GNU Toolchain Authors.
  4269  //    This file is part of the GNU C Library.
  4270  //
  4271  //    The GNU C Library is free software; you can redistribute it and/or
  4272  //    modify it under the terms of the GNU Lesser General Public
  4273  //    License as published by the Free Software Foundation; either
  4274  //    version 2.1 of the License, or (at your option) any later version.
  4275  //
  4276  //    The GNU C Library is distributed in the hope that it will be useful,
  4277  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4278  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4279  //    Lesser General Public License for more details.
  4280  //
  4281  //    You should have received a copy of the GNU Lesser General Public
  4282  //    License along with the GNU C Library; if not, see
  4283  //    <https://www.gnu.org/licenses/>.
  4284  
  4285  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  4286  
  4287  // Handle feature test macros at the start of a header.
  4288  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  4289  //    This file is part of the GNU C Library.
  4290  //
  4291  //    The GNU C Library is free software; you can redistribute it and/or
  4292  //    modify it under the terms of the GNU Lesser General Public
  4293  //    License as published by the Free Software Foundation; either
  4294  //    version 2.1 of the License, or (at your option) any later version.
  4295  //
  4296  //    The GNU C Library is distributed in the hope that it will be useful,
  4297  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4298  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4299  //    Lesser General Public License for more details.
  4300  //
  4301  //    You should have received a copy of the GNU Lesser General Public
  4302  //    License along with the GNU C Library; if not, see
  4303  //    <https://www.gnu.org/licenses/>.
  4304  
  4305  // This header is internal to glibc and should not be included outside
  4306  //    of glibc headers.  Headers including it must define
  4307  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  4308  //    cannot have multiple include guards because ISO C feature test
  4309  //    macros depend on the definition of the macro when an affected
  4310  //    header is included, not when the first system header is
  4311  //    included.
  4312  
  4313  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4314  //    This file is part of the GNU C Library.
  4315  //
  4316  //    The GNU C Library is free software; you can redistribute it and/or
  4317  //    modify it under the terms of the GNU Lesser General Public
  4318  //    License as published by the Free Software Foundation; either
  4319  //    version 2.1 of the License, or (at your option) any later version.
  4320  //
  4321  //    The GNU C Library is distributed in the hope that it will be useful,
  4322  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4323  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4324  //    Lesser General Public License for more details.
  4325  //
  4326  //    You should have received a copy of the GNU Lesser General Public
  4327  //    License along with the GNU C Library; if not, see
  4328  //    <https://www.gnu.org/licenses/>.
  4329  
  4330  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4331  //    macro.
  4332  
  4333  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4334  //    macro.  Most but not all symbols enabled by that macro in TS
  4335  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  4336  //    Annex F still require a new feature test macro
  4337  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  4338  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  4339  //    18661-1 are not included in C2X (and thus should depend on
  4340  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  4341  //    enabled).
  4342  //
  4343  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  4344  //    18661-1 not included in C2X.
  4345  //
  4346  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  4347  //    18661-1 that are also included in C2X (with no feature test macro
  4348  //    required in C2X).
  4349  //
  4350  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  4351  //    that are included in C2X but conditional on
  4352  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  4353  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  4354  //    18661-1.)
  4355  
  4356  // ISO/IEC TS 18661-4:2015 defines the
  4357  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4358  //    functions, the symbols from this TS are enabled unconditionally in
  4359  //    C2X.
  4360  
  4361  // ISO/IEC TS 18661-3:2015 defines the
  4362  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4363  
  4364  // Get size_t, wchar_t and NULL from <stddef.h>.
  4365  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4366  //
  4367  // This file is part of GCC.
  4368  //
  4369  // GCC is free software; you can redistribute it and/or modify
  4370  // it under the terms of the GNU General Public License as published by
  4371  // the Free Software Foundation; either version 3, or (at your option)
  4372  // any later version.
  4373  //
  4374  // GCC is distributed in the hope that it will be useful,
  4375  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4376  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4377  // GNU General Public License for more details.
  4378  //
  4379  // Under Section 7 of GPL version 3, you are granted additional
  4380  // permissions described in the GCC Runtime Library Exception, version
  4381  // 3.1, as published by the Free Software Foundation.
  4382  //
  4383  // You should have received a copy of the GNU General Public License and
  4384  // a copy of the GCC Runtime Library Exception along with this program;
  4385  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4386  // <http://www.gnu.org/licenses/>.
  4387  
  4388  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4389  
  4390  // Any one of these symbols __need_* means that GNU libc
  4391  //    wants us just to define one data type.  So don't define
  4392  //    the symbols that indicate this file's entire job has been done.
  4393  
  4394  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4395  //    There's no way to win with the other order!  Sun lossage.
  4396  
  4397  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4398  //    Just ignore it.
  4399  
  4400  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4401  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4402  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4403  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4404  //    If we find that the macros are still defined at this point, we must
  4405  //    invoke them so that the type is defined as expected.
  4406  
  4407  // In case nobody has defined these types, but we aren't running under
  4408  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4409  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4410  //    parts of GCC is compiled by an older compiler, that actually
  4411  //    include gstddef.h, such as collect2.
  4412  
  4413  // Signed type of difference of two pointers.
  4414  
  4415  // Define this type if we are doing the whole job,
  4416  //    or if we want this type in particular.
  4417  
  4418  // If this symbol has done its job, get rid of it.
  4419  
  4420  // Unsigned type of `sizeof' something.
  4421  
  4422  // Define this type if we are doing the whole job,
  4423  //    or if we want this type in particular.
  4424  
  4425  // Wide character type.
  4426  //    Locale-writers should change this as necessary to
  4427  //    be big enough to hold unique values not between 0 and 127,
  4428  //    and not (wchar_t) -1, for each defined multibyte character.
  4429  
  4430  // Define this type if we are doing the whole job,
  4431  //    or if we want this type in particular.
  4432  
  4433  // A null pointer constant.
  4434  
  4435  // Offset of member MEMBER in a struct of type TYPE.
  4436  
  4437  // XPG requires a few symbols from <sys/wait.h> being defined.
  4438  // Definitions of flag bits for `waitpid' et al.
  4439  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4440  //    This file is part of the GNU C Library.
  4441  //
  4442  //    The GNU C Library is free software; you can redistribute it and/or
  4443  //    modify it under the terms of the GNU Lesser General Public
  4444  //    License as published by the Free Software Foundation; either
  4445  //    version 2.1 of the License, or (at your option) any later version.
  4446  //
  4447  //    The GNU C Library is distributed in the hope that it will be useful,
  4448  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4449  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4450  //    Lesser General Public License for more details.
  4451  //
  4452  //    You should have received a copy of the GNU Lesser General Public
  4453  //    License along with the GNU C Library; if not, see
  4454  //    <https://www.gnu.org/licenses/>.
  4455  
  4456  // Bits in the third argument to `waitpid'.
  4457  
  4458  // Bits in the fourth argument to `waitid'.
  4459  
  4460  // Definitions of status bits for `wait' et al.
  4461  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4462  //    This file is part of the GNU C Library.
  4463  //
  4464  //    The GNU C Library is free software; you can redistribute it and/or
  4465  //    modify it under the terms of the GNU Lesser General Public
  4466  //    License as published by the Free Software Foundation; either
  4467  //    version 2.1 of the License, or (at your option) any later version.
  4468  //
  4469  //    The GNU C Library is distributed in the hope that it will be useful,
  4470  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4471  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4472  //    Lesser General Public License for more details.
  4473  //
  4474  //    You should have received a copy of the GNU Lesser General Public
  4475  //    License along with the GNU C Library; if not, see
  4476  //    <https://www.gnu.org/licenses/>.
  4477  
  4478  // Everything extant so far uses these same bits.
  4479  
  4480  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  4481  
  4482  // If WIFSIGNALED(STATUS), the terminating signal.
  4483  
  4484  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  4485  
  4486  // Nonzero if STATUS indicates normal termination.
  4487  
  4488  // Nonzero if STATUS indicates termination by a signal.
  4489  
  4490  // Nonzero if STATUS indicates the child is stopped.
  4491  
  4492  // Nonzero if STATUS indicates the child continued after a stop.  We only
  4493  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  4494  
  4495  // Nonzero if STATUS indicates the child dumped core.
  4496  
  4497  // Macros for constructing status values.
  4498  
  4499  // Define the macros <sys/wait.h> also would define this way.
  4500  
  4501  // _FloatN API tests for enablement.
  4502  // Macros to control TS 18661-3 glibc features on x86.
  4503  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4504  //    This file is part of the GNU C Library.
  4505  //
  4506  //    The GNU C Library is free software; you can redistribute it and/or
  4507  //    modify it under the terms of the GNU Lesser General Public
  4508  //    License as published by the Free Software Foundation; either
  4509  //    version 2.1 of the License, or (at your option) any later version.
  4510  //
  4511  //    The GNU C Library is distributed in the hope that it will be useful,
  4512  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4513  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4514  //    Lesser General Public License for more details.
  4515  //
  4516  //    You should have received a copy of the GNU Lesser General Public
  4517  //    License along with the GNU C Library; if not, see
  4518  //    <https://www.gnu.org/licenses/>.
  4519  
  4520  // Returned by `div'.
  4521  type Tdiv_t = struct {
  4522  	Fquot int32
  4523  	Frem  int32
  4524  } /* stdlib.h:63:5 */
  4525  
  4526  // Returned by `ldiv'.
  4527  type Tldiv_t = struct {
  4528  	Fquot int64
  4529  	Frem  int64
  4530  } /* stdlib.h:71:5 */
  4531  
  4532  // Returned by `lldiv'.
  4533  type Tlldiv_t = struct {
  4534  	Fquot int64
  4535  	Frem  int64
  4536  } /* stdlib.h:81:5 */
  4537  
  4538  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4539  //    This file is part of the GNU C Library.
  4540  //
  4541  //    The GNU C Library is free software; you can redistribute it and/or
  4542  //    modify it under the terms of the GNU Lesser General Public
  4543  //    License as published by the Free Software Foundation; either
  4544  //    version 2.1 of the License, or (at your option) any later version.
  4545  //
  4546  //    The GNU C Library is distributed in the hope that it will be useful,
  4547  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4548  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4549  //    Lesser General Public License for more details.
  4550  //
  4551  //    You should have received a copy of the GNU Lesser General Public
  4552  //    License along with the GNU C Library; if not, see
  4553  //    <https://www.gnu.org/licenses/>.
  4554  
  4555  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4556  
  4557  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4558  //    This file is part of the GNU C Library.
  4559  //
  4560  //    The GNU C Library is free software; you can redistribute it and/or
  4561  //    modify it under the terms of the GNU Lesser General Public
  4562  //    License as published by the Free Software Foundation; either
  4563  //    version 2.1 of the License, or (at your option) any later version.
  4564  //
  4565  //    The GNU C Library is distributed in the hope that it will be useful,
  4566  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4567  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4568  //    Lesser General Public License for more details.
  4569  //
  4570  //    You should have received a copy of the GNU Lesser General Public
  4571  //    License along with the GNU C Library; if not, see
  4572  //    <https://www.gnu.org/licenses/>.
  4573  
  4574  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4575  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4576  //    This file is part of the GNU C Library.
  4577  //
  4578  //    The GNU C Library is free software; you can redistribute it and/or
  4579  //    modify it under the terms of the GNU Lesser General Public
  4580  //    License as published by the Free Software Foundation; either
  4581  //    version 2.1 of the License, or (at your option) any later version.
  4582  //
  4583  //    The GNU C Library is distributed in the hope that it will be useful,
  4584  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4585  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4586  //    Lesser General Public License for more details.
  4587  //
  4588  //    You should have received a copy of the GNU Lesser General Public
  4589  //    License along with the GNU C Library; if not, see
  4590  //    <https://www.gnu.org/licenses/>.
  4591  
  4592  // Never include this file directly; use <sys/types.h> instead.
  4593  
  4594  type Tu_char = T__u_char     /* types.h:33:18 */
  4595  type Tu_short = T__u_short   /* types.h:34:19 */
  4596  type Tu_int = T__u_int       /* types.h:35:17 */
  4597  type Tu_long = T__u_long     /* types.h:36:18 */
  4598  type Tquad_t = T__quad_t     /* types.h:37:18 */
  4599  type Tu_quad_t = T__u_quad_t /* types.h:38:20 */
  4600  type Tfsid_t = T__fsid_t     /* types.h:39:18 */
  4601  type Tloff_t = T__loff_t     /* types.h:42:18 */
  4602  
  4603  type Tino_t = T__ino64_t   /* types.h:49:19 */
  4604  type Tino64_t = T__ino64_t /* types.h:54:19 */
  4605  
  4606  type Tdev_t = T__dev_t /* types.h:59:17 */
  4607  
  4608  type Tgid_t = T__gid_t /* types.h:64:17 */
  4609  
  4610  type Tmode_t = T__mode_t /* types.h:69:18 */
  4611  
  4612  type Tnlink_t = T__nlink_t /* types.h:74:19 */
  4613  
  4614  type Tuid_t = T__uid_t /* types.h:79:17 */
  4615  
  4616  type Tpid_t = T__pid_t /* types.h:97:17 */
  4617  
  4618  type Tid_t = T__id_t /* types.h:103:16 */
  4619  
  4620  type Tdaddr_t = T__daddr_t /* types.h:114:19 */
  4621  type Tcaddr_t = T__caddr_t /* types.h:115:19 */
  4622  
  4623  type Tkey_t = T__key_t /* types.h:121:17 */
  4624  
  4625  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4626  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4627  //    This file is part of the GNU C Library.
  4628  //
  4629  //    The GNU C Library is free software; you can redistribute it and/or
  4630  //    modify it under the terms of the GNU Lesser General Public
  4631  //    License as published by the Free Software Foundation; either
  4632  //    version 2.1 of the License, or (at your option) any later version.
  4633  //
  4634  //    The GNU C Library is distributed in the hope that it will be useful,
  4635  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4636  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4637  //    Lesser General Public License for more details.
  4638  //
  4639  //    You should have received a copy of the GNU Lesser General Public
  4640  //    License along with the GNU C Library; if not, see
  4641  //    <https://www.gnu.org/licenses/>.
  4642  
  4643  // Never include this file directly; use <sys/types.h> instead.
  4644  
  4645  // Returned by `clock'.
  4646  type Tclock_t = T__clock_t /* clock_t.h:7:19 */
  4647  
  4648  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4649  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4650  //    This file is part of the GNU C Library.
  4651  //
  4652  //    The GNU C Library is free software; you can redistribute it and/or
  4653  //    modify it under the terms of the GNU Lesser General Public
  4654  //    License as published by the Free Software Foundation; either
  4655  //    version 2.1 of the License, or (at your option) any later version.
  4656  //
  4657  //    The GNU C Library is distributed in the hope that it will be useful,
  4658  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4659  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4660  //    Lesser General Public License for more details.
  4661  //
  4662  //    You should have received a copy of the GNU Lesser General Public
  4663  //    License along with the GNU C Library; if not, see
  4664  //    <https://www.gnu.org/licenses/>.
  4665  
  4666  // Never include this file directly; use <sys/types.h> instead.
  4667  
  4668  // Clock ID used in clock and timer functions.
  4669  type Tclockid_t = T__clockid_t /* clockid_t.h:7:21 */
  4670  
  4671  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4672  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4673  //    This file is part of the GNU C Library.
  4674  //
  4675  //    The GNU C Library is free software; you can redistribute it and/or
  4676  //    modify it under the terms of the GNU Lesser General Public
  4677  //    License as published by the Free Software Foundation; either
  4678  //    version 2.1 of the License, or (at your option) any later version.
  4679  //
  4680  //    The GNU C Library is distributed in the hope that it will be useful,
  4681  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4682  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4683  //    Lesser General Public License for more details.
  4684  //
  4685  //    You should have received a copy of the GNU Lesser General Public
  4686  //    License along with the GNU C Library; if not, see
  4687  //    <https://www.gnu.org/licenses/>.
  4688  
  4689  // Never include this file directly; use <sys/types.h> instead.
  4690  
  4691  // Returned by `time'.
  4692  type Ttime_t = T__time_t /* time_t.h:10:18 */
  4693  
  4694  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4695  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4696  //    This file is part of the GNU C Library.
  4697  //
  4698  //    The GNU C Library is free software; you can redistribute it and/or
  4699  //    modify it under the terms of the GNU Lesser General Public
  4700  //    License as published by the Free Software Foundation; either
  4701  //    version 2.1 of the License, or (at your option) any later version.
  4702  //
  4703  //    The GNU C Library is distributed in the hope that it will be useful,
  4704  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4705  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4706  //    Lesser General Public License for more details.
  4707  //
  4708  //    You should have received a copy of the GNU Lesser General Public
  4709  //    License along with the GNU C Library; if not, see
  4710  //    <https://www.gnu.org/licenses/>.
  4711  
  4712  // Never include this file directly; use <sys/types.h> instead.
  4713  
  4714  // Timer ID returned by `timer_create'.
  4715  type Ttimer_t = T__timer_t /* timer_t.h:7:19 */
  4716  
  4717  type Tuseconds_t = T__useconds_t   /* types.h:134:22 */
  4718  type Tsuseconds_t = T__suseconds_t /* types.h:138:23 */
  4719  
  4720  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4721  //
  4722  // This file is part of GCC.
  4723  //
  4724  // GCC is free software; you can redistribute it and/or modify
  4725  // it under the terms of the GNU General Public License as published by
  4726  // the Free Software Foundation; either version 3, or (at your option)
  4727  // any later version.
  4728  //
  4729  // GCC is distributed in the hope that it will be useful,
  4730  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4731  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4732  // GNU General Public License for more details.
  4733  //
  4734  // Under Section 7 of GPL version 3, you are granted additional
  4735  // permissions described in the GCC Runtime Library Exception, version
  4736  // 3.1, as published by the Free Software Foundation.
  4737  //
  4738  // You should have received a copy of the GNU General Public License and
  4739  // a copy of the GCC Runtime Library Exception along with this program;
  4740  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4741  // <http://www.gnu.org/licenses/>.
  4742  
  4743  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4744  
  4745  // Any one of these symbols __need_* means that GNU libc
  4746  //    wants us just to define one data type.  So don't define
  4747  //    the symbols that indicate this file's entire job has been done.
  4748  
  4749  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4750  //    There's no way to win with the other order!  Sun lossage.
  4751  
  4752  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4753  //    Just ignore it.
  4754  
  4755  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4756  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4757  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4758  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4759  //    If we find that the macros are still defined at this point, we must
  4760  //    invoke them so that the type is defined as expected.
  4761  
  4762  // In case nobody has defined these types, but we aren't running under
  4763  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4764  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4765  //    parts of GCC is compiled by an older compiler, that actually
  4766  //    include gstddef.h, such as collect2.
  4767  
  4768  // Signed type of difference of two pointers.
  4769  
  4770  // Define this type if we are doing the whole job,
  4771  //    or if we want this type in particular.
  4772  
  4773  // If this symbol has done its job, get rid of it.
  4774  
  4775  // Unsigned type of `sizeof' something.
  4776  
  4777  // Define this type if we are doing the whole job,
  4778  //    or if we want this type in particular.
  4779  
  4780  // Wide character type.
  4781  //    Locale-writers should change this as necessary to
  4782  //    be big enough to hold unique values not between 0 and 127,
  4783  //    and not (wchar_t) -1, for each defined multibyte character.
  4784  
  4785  // Define this type if we are doing the whole job,
  4786  //    or if we want this type in particular.
  4787  
  4788  // A null pointer constant.
  4789  
  4790  // Offset of member MEMBER in a struct of type TYPE.
  4791  
  4792  // Old compatibility names for C types.
  4793  type Tulong = uint64  /* types.h:148:27 */
  4794  type Tushort = uint16 /* types.h:149:28 */
  4795  type Tuint = uint32   /* types.h:150:22 */
  4796  
  4797  // These size-specific names are used by some of the inet code.
  4798  
  4799  // Define intN_t types.
  4800  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4801  //    This file is part of the GNU C Library.
  4802  //
  4803  //    The GNU C Library is free software; you can redistribute it and/or
  4804  //    modify it under the terms of the GNU Lesser General Public
  4805  //    License as published by the Free Software Foundation; either
  4806  //    version 2.1 of the License, or (at your option) any later version.
  4807  //
  4808  //    The GNU C Library is distributed in the hope that it will be useful,
  4809  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4810  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4811  //    Lesser General Public License for more details.
  4812  //
  4813  //    You should have received a copy of the GNU Lesser General Public
  4814  //    License along with the GNU C Library; if not, see
  4815  //    <https://www.gnu.org/licenses/>.
  4816  
  4817  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4818  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4819  //    This file is part of the GNU C Library.
  4820  //
  4821  //    The GNU C Library is free software; you can redistribute it and/or
  4822  //    modify it under the terms of the GNU Lesser General Public
  4823  //    License as published by the Free Software Foundation; either
  4824  //    version 2.1 of the License, or (at your option) any later version.
  4825  //
  4826  //    The GNU C Library is distributed in the hope that it will be useful,
  4827  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4828  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4829  //    Lesser General Public License for more details.
  4830  //
  4831  //    You should have received a copy of the GNU Lesser General Public
  4832  //    License along with the GNU C Library; if not, see
  4833  //    <https://www.gnu.org/licenses/>.
  4834  
  4835  // Never include this file directly; use <sys/types.h> instead.
  4836  
  4837  type Tint8_t = T__int8_t   /* stdint-intn.h:24:18 */
  4838  type Tint16_t = T__int16_t /* stdint-intn.h:25:19 */
  4839  type Tint32_t = T__int32_t /* stdint-intn.h:26:19 */
  4840  type Tint64_t = T__int64_t /* stdint-intn.h:27:19 */
  4841  
  4842  // These were defined by ISO C without the first `_'.
  4843  type Tu_int8_t = T__uint8_t   /* types.h:158:19 */
  4844  type Tu_int16_t = T__uint16_t /* types.h:159:20 */
  4845  type Tu_int32_t = T__uint32_t /* types.h:160:20 */
  4846  type Tu_int64_t = T__uint64_t /* types.h:161:20 */
  4847  
  4848  type Tregister_t = int32 /* types.h:164:13 */
  4849  
  4850  // It also defines `fd_set' and the FD_* macros for `select'.
  4851  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  4852  //    Copyright (C) 1996-2022 Free Software Foundation, Inc.
  4853  //    This file is part of the GNU C Library.
  4854  //
  4855  //    The GNU C Library is free software; you can redistribute it and/or
  4856  //    modify it under the terms of the GNU Lesser General Public
  4857  //    License as published by the Free Software Foundation; either
  4858  //    version 2.1 of the License, or (at your option) any later version.
  4859  //
  4860  //    The GNU C Library is distributed in the hope that it will be useful,
  4861  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4862  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4863  //    Lesser General Public License for more details.
  4864  //
  4865  //    You should have received a copy of the GNU Lesser General Public
  4866  //    License along with the GNU C Library; if not, see
  4867  //    <https://www.gnu.org/licenses/>.
  4868  
  4869  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  4870  
  4871  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4872  //    This file is part of the GNU C Library.
  4873  //
  4874  //    The GNU C Library is free software; you can redistribute it and/or
  4875  //    modify it under the terms of the GNU Lesser General Public
  4876  //    License as published by the Free Software Foundation; either
  4877  //    version 2.1 of the License, or (at your option) any later version.
  4878  //
  4879  //    The GNU C Library is distributed in the hope that it will be useful,
  4880  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4881  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4882  //    Lesser General Public License for more details.
  4883  //
  4884  //    You should have received a copy of the GNU Lesser General Public
  4885  //    License along with the GNU C Library; if not, see
  4886  //    <https://www.gnu.org/licenses/>.
  4887  
  4888  // Get definition of needed basic types.
  4889  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4890  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4891  //    This file is part of the GNU C Library.
  4892  //
  4893  //    The GNU C Library is free software; you can redistribute it and/or
  4894  //    modify it under the terms of the GNU Lesser General Public
  4895  //    License as published by the Free Software Foundation; either
  4896  //    version 2.1 of the License, or (at your option) any later version.
  4897  //
  4898  //    The GNU C Library is distributed in the hope that it will be useful,
  4899  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4900  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4901  //    Lesser General Public License for more details.
  4902  //
  4903  //    You should have received a copy of the GNU Lesser General Public
  4904  //    License along with the GNU C Library; if not, see
  4905  //    <https://www.gnu.org/licenses/>.
  4906  
  4907  // Never include this file directly; use <sys/types.h> instead.
  4908  
  4909  // Get __FD_* definitions.
  4910  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  4911  //    This file is part of the GNU C Library.
  4912  //
  4913  //    The GNU C Library is free software; you can redistribute it and/or
  4914  //    modify it under the terms of the GNU Lesser General Public
  4915  //    License as published by the Free Software Foundation; either
  4916  //    version 2.1 of the License, or (at your option) any later version.
  4917  //
  4918  //    The GNU C Library is distributed in the hope that it will be useful,
  4919  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4920  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4921  //    Lesser General Public License for more details.
  4922  //
  4923  //    You should have received a copy of the GNU Lesser General Public
  4924  //    License along with the GNU C Library; if not, see
  4925  //    <https://www.gnu.org/licenses/>.
  4926  
  4927  // We don't use `memset' because this would require a prototype and
  4928  //    the array isn't too big.
  4929  
  4930  // Get sigset_t.
  4931  
  4932  type T__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
  4933  
  4934  // A set of signals to be blocked, unblocked, or waited for.
  4935  type Tsigset_t = T__sigset_t /* sigset_t.h:7:20 */
  4936  
  4937  // Get definition of timer specification structures.
  4938  
  4939  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4940  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4941  //    This file is part of the GNU C Library.
  4942  //
  4943  //    The GNU C Library is free software; you can redistribute it and/or
  4944  //    modify it under the terms of the GNU Lesser General Public
  4945  //    License as published by the Free Software Foundation; either
  4946  //    version 2.1 of the License, or (at your option) any later version.
  4947  //
  4948  //    The GNU C Library is distributed in the hope that it will be useful,
  4949  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4950  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4951  //    Lesser General Public License for more details.
  4952  //
  4953  //    You should have received a copy of the GNU Lesser General Public
  4954  //    License along with the GNU C Library; if not, see
  4955  //    <https://www.gnu.org/licenses/>.
  4956  
  4957  // Never include this file directly; use <sys/types.h> instead.
  4958  
  4959  // A time value that is accurate to the nearest
  4960  //    microsecond but also has a range of years.
  4961  type Stimeval = struct {
  4962  	Ftv_sec  T__time_t
  4963  	Ftv_usec T__suseconds_t
  4964  } /* struct_timeval.h:8:1 */
  4965  
  4966  // NB: Include guard matches what <linux/time.h> uses.
  4967  
  4968  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4969  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4970  //    This file is part of the GNU C Library.
  4971  //
  4972  //    The GNU C Library is free software; you can redistribute it and/or
  4973  //    modify it under the terms of the GNU Lesser General Public
  4974  //    License as published by the Free Software Foundation; either
  4975  //    version 2.1 of the License, or (at your option) any later version.
  4976  //
  4977  //    The GNU C Library is distributed in the hope that it will be useful,
  4978  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4979  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4980  //    Lesser General Public License for more details.
  4981  //
  4982  //    You should have received a copy of the GNU Lesser General Public
  4983  //    License along with the GNU C Library; if not, see
  4984  //    <https://www.gnu.org/licenses/>.
  4985  
  4986  // Never include this file directly; use <sys/types.h> instead.
  4987  
  4988  // Endian macros for string.h functions
  4989  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4990  //    This file is part of the GNU C Library.
  4991  //
  4992  //    The GNU C Library is free software; you can redistribute it and/or
  4993  //    modify it under the terms of the GNU Lesser General Public
  4994  //    License as published by the Free Software Foundation; either
  4995  //    version 2.1 of the License, or (at your option) any later version.
  4996  //
  4997  //    The GNU C Library is distributed in the hope that it will be useful,
  4998  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4999  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5000  //    Lesser General Public License for more details.
  5001  //
  5002  //    You should have received a copy of the GNU Lesser General Public
  5003  //    License along with the GNU C Library; if not, see
  5004  //    <http://www.gnu.org/licenses/>.
  5005  
  5006  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5007  //    has nanoseconds instead of microseconds.
  5008  type Stimespec = struct {
  5009  	Ftv_sec  T__time_t
  5010  	Ftv_nsec T__syscall_slong_t
  5011  } /* struct_timespec.h:11:1 */
  5012  
  5013  // The fd_set member is required to be an array of longs.
  5014  type T__fd_mask = int64 /* select.h:49:18 */
  5015  
  5016  // Some versions of <linux/posix_types.h> define this macros.
  5017  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5018  
  5019  // fd_set for select and pselect.
  5020  type Tfd_set = struct{ Ffds_bits [16]T__fd_mask } /* select.h:70:5 */
  5021  
  5022  // Maximum number of file descriptors in `fd_set'.
  5023  
  5024  // Sometimes the fd_set member is assumed to have this type.
  5025  type Tfd_mask = T__fd_mask /* select.h:77:19 */
  5026  
  5027  // Define some inlines helping to catch common problems.
  5028  
  5029  type Tblksize_t = T__blksize_t /* types.h:185:21 */
  5030  
  5031  // Types from the Large File Support interface.
  5032  type Tblkcnt_t = T__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5033  type Tfsblkcnt_t = T__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5034  type Tfsfilcnt_t = T__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5035  
  5036  type Tblkcnt64_t = T__blkcnt64_t     /* types.h:219:22 */ // Type to count number of disk blocks.
  5037  type Tfsblkcnt64_t = T__fsblkcnt64_t /* types.h:220:24 */ // Type to count file system blocks.
  5038  type Tfsfilcnt64_t = T__fsfilcnt64_t /* types.h:221:24 */ // Type to count file system inodes.
  5039  
  5040  // Now add the thread types.
  5041  // Declaration of common pthread types for all architectures.
  5042  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5043  //    This file is part of the GNU C Library.
  5044  //
  5045  //    The GNU C Library is free software; you can redistribute it and/or
  5046  //    modify it under the terms of the GNU Lesser General Public
  5047  //    License as published by the Free Software Foundation; either
  5048  //    version 2.1 of the License, or (at your option) any later version.
  5049  //
  5050  //    The GNU C Library is distributed in the hope that it will be useful,
  5051  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5052  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5053  //    Lesser General Public License for more details.
  5054  //
  5055  //    You should have received a copy of the GNU Lesser General Public
  5056  //    License along with the GNU C Library; if not, see
  5057  //    <https://www.gnu.org/licenses/>.
  5058  
  5059  // For internal mutex and condition variable definitions.
  5060  // Common threading primitives definitions for both POSIX and C11.
  5061  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5062  //    This file is part of the GNU C Library.
  5063  //
  5064  //    The GNU C Library is free software; you can redistribute it and/or
  5065  //    modify it under the terms of the GNU Lesser General Public
  5066  //    License as published by the Free Software Foundation; either
  5067  //    version 2.1 of the License, or (at your option) any later version.
  5068  //
  5069  //    The GNU C Library is distributed in the hope that it will be useful,
  5070  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5071  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5072  //    Lesser General Public License for more details.
  5073  //
  5074  //    You should have received a copy of the GNU Lesser General Public
  5075  //    License along with the GNU C Library; if not, see
  5076  //    <https://www.gnu.org/licenses/>.
  5077  
  5078  // Arch-specific definitions.  Each architecture must define the following
  5079  //    macros to define the expected sizes of pthread data types:
  5080  //
  5081  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5082  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5083  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5084  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5085  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5086  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5087  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5088  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5089  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5090  //
  5091  //    The additional macro defines any constraint for the lock alignment
  5092  //    inside the thread structures:
  5093  //
  5094  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5095  //
  5096  //    Same idea but for the once locking primitive:
  5097  //
  5098  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5099  
  5100  // Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5101  //    This file is part of the GNU C Library.
  5102  //
  5103  //    The GNU C Library is free software; you can redistribute it and/or
  5104  //    modify it under the terms of the GNU Lesser General Public
  5105  //    License as published by the Free Software Foundation; either
  5106  //    version 2.1 of the License, or (at your option) any later version.
  5107  //
  5108  //    The GNU C Library is distributed in the hope that it will be useful,
  5109  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5110  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5111  //    Lesser General Public License for more details.
  5112  //
  5113  //    You should have received a copy of the GNU Lesser General Public
  5114  //    License along with the GNU C Library; if not, see
  5115  //    <https://www.gnu.org/licenses/>.
  5116  
  5117  // Determine the wordsize from the preprocessor defines.
  5118  
  5119  // Both x86-64 and x32 use the 64-bit system call interface.
  5120  
  5121  // Monotonically increasing wide counters (at least 62 bits).
  5122  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5123  //    This file is part of the GNU C Library.
  5124  //
  5125  //    The GNU C Library is free software; you can redistribute it and/or
  5126  //    modify it under the terms of the GNU Lesser General Public
  5127  //    License as published by the Free Software Foundation; either
  5128  //    version 2.1 of the License, or (at your option) any later version.
  5129  //
  5130  //    The GNU C Library is distributed in the hope that it will be useful,
  5131  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5132  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5133  //    Lesser General Public License for more details.
  5134  //
  5135  //    You should have received a copy of the GNU Lesser General Public
  5136  //    License along with the GNU C Library; if not, see
  5137  //    <https://www.gnu.org/licenses/>.
  5138  
  5139  // Counter that is monotonically increasing (by less than 2**31 per
  5140  //    increment), with a single writer, and an arbitrary number of
  5141  //    readers.
  5142  type T__atomic_wide_counter = struct{ F__value64 uint64 } /* atomic_wide_counter.h:33:3 */
  5143  
  5144  // Common definition of pthread_mutex_t.
  5145  
  5146  type S__pthread_internal_list = struct {
  5147  	F__prev uintptr
  5148  	F__next uintptr
  5149  } /* thread-shared-types.h:51:9 */
  5150  
  5151  // Common definition of pthread_mutex_t.
  5152  
  5153  type T__pthread_list_t = S__pthread_internal_list /* thread-shared-types.h:55:3 */
  5154  
  5155  type S__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:57:9 */
  5156  
  5157  type T__pthread_slist_t = S__pthread_internal_slist /* thread-shared-types.h:60:3 */
  5158  
  5159  // Arch-specific mutex definitions.  A generic implementation is provided
  5160  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5161  //    can override it by defining:
  5162  //
  5163  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5164  //       definition).  It should contains at least the internal members
  5165  //       defined in the generic version.
  5166  //
  5167  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5168  //       atomic operations.
  5169  //
  5170  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5171  //       It should initialize the mutex internal flag.
  5172  
  5173  // x86 internal mutex struct definitions.
  5174  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5175  //    This file is part of the GNU C Library.
  5176  //
  5177  //    The GNU C Library is free software; you can redistribute it and/or
  5178  //    modify it under the terms of the GNU Lesser General Public
  5179  //    License as published by the Free Software Foundation; either
  5180  //    version 2.1 of the License, or (at your option) any later version.
  5181  //
  5182  //    The GNU C Library is distributed in the hope that it will be useful,
  5183  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5184  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5185  //    Lesser General Public License for more details.
  5186  //
  5187  //    You should have received a copy of the GNU Lesser General Public
  5188  //    License along with the GNU C Library; if not, see
  5189  //    <http://www.gnu.org/licenses/>.
  5190  
  5191  type S__pthread_mutex_s = struct {
  5192  	F__lock    int32
  5193  	F__count   uint32
  5194  	F__owner   int32
  5195  	F__nusers  uint32
  5196  	F__kind    int32
  5197  	F__spins   int16
  5198  	F__elision int16
  5199  	F__list    T__pthread_list_t
  5200  } /* struct_mutex.h:22:1 */
  5201  
  5202  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5203  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5204  //    by defining:
  5205  //
  5206  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5207  //       It should contain at least the internal members defined in the
  5208  //       generic version.
  5209  //
  5210  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5211  //       It should initialize the rwlock internal type.
  5212  
  5213  // x86 internal rwlock struct definitions.
  5214  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5215  //
  5216  //    This file is part of the GNU C Library.
  5217  //
  5218  //    The GNU C Library is free software; you can redistribute it and/or
  5219  //    modify it under the terms of the GNU Lesser General Public
  5220  //    License as published by the Free Software Foundation; either
  5221  //    version 2.1 of the License, or (at your option) any later version.
  5222  //
  5223  //    The GNU C Library is distributed in the hope that it will be useful,
  5224  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5225  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5226  //    Lesser General Public License for more details.
  5227  //
  5228  //    You should have received a copy of the GNU Lesser General Public
  5229  //    License along with the GNU C Library; if not, see
  5230  //    <http://www.gnu.org/licenses/>.
  5231  
  5232  type S__pthread_rwlock_arch_t = struct {
  5233  	F__readers       uint32
  5234  	F__writers       uint32
  5235  	F__wrphase_futex uint32
  5236  	F__writers_futex uint32
  5237  	F__pad3          uint32
  5238  	F__pad4          uint32
  5239  	F__cur_writer    int32
  5240  	F__shared        int32
  5241  	F__rwelision     int8
  5242  	F__pad1          [7]uint8
  5243  	F__pad2          uint64
  5244  	F__flags         uint32
  5245  	F__ccgo_pad1     [4]byte
  5246  } /* struct_rwlock.h:23:1 */
  5247  
  5248  // Common definition of pthread_cond_t.
  5249  
  5250  type S__pthread_cond_s = struct {
  5251  	F__wseq         T__atomic_wide_counter
  5252  	F__g1_start     T__atomic_wide_counter
  5253  	F__g_refs       [2]uint32
  5254  	F__g_size       [2]uint32
  5255  	F__g1_orig_size uint32
  5256  	F__wrefs        uint32
  5257  	F__g_signals    [2]uint32
  5258  } /* thread-shared-types.h:94:1 */
  5259  
  5260  type T__tss_t = uint32  /* thread-shared-types.h:105:22 */
  5261  type T__thrd_t = uint64 /* thread-shared-types.h:106:27 */
  5262  
  5263  type T__once_flag = struct{ F__data int32 } /* thread-shared-types.h:111:3 */
  5264  
  5265  // Thread identifiers.  The structure of the attribute type is not
  5266  //    exposed on purpose.
  5267  type Tpthread_t = uint64 /* pthreadtypes.h:27:27 */
  5268  
  5269  // Data structures for mutex handling.  The structure of the attribute
  5270  //    type is not exposed on purpose.
  5271  type Tpthread_mutexattr_t = struct {
  5272  	F__ccgo_pad1 [0]uint32
  5273  	F__size      [4]int8
  5274  } /* pthreadtypes.h:36:3 */
  5275  
  5276  // Data structure for condition variable handling.  The structure of
  5277  //    the attribute type is not exposed on purpose.
  5278  type Tpthread_condattr_t = struct {
  5279  	F__ccgo_pad1 [0]uint32
  5280  	F__size      [4]int8
  5281  } /* pthreadtypes.h:45:3 */
  5282  
  5283  // Keys for thread-specific data
  5284  type Tpthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5285  
  5286  // Once-only execution
  5287  type Tpthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5288  
  5289  type Spthread_attr_t = struct {
  5290  	F__ccgo_pad1 [0]uint64
  5291  	F__size      [56]int8
  5292  } /* pthreadtypes.h:56:1 */
  5293  
  5294  type Tpthread_attr_t = Spthread_attr_t /* pthreadtypes.h:62:30 */
  5295  
  5296  type Tpthread_mutex_t = struct{ F__data S__pthread_mutex_s } /* pthreadtypes.h:72:3 */
  5297  
  5298  type Tpthread_cond_t = struct{ F__data S__pthread_cond_s } /* pthreadtypes.h:80:3 */
  5299  
  5300  // Data structure for reader-writer lock variable handling.  The
  5301  //    structure of the attribute type is deliberately not exposed.
  5302  type Tpthread_rwlock_t = struct{ F__data S__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
  5303  
  5304  type Tpthread_rwlockattr_t = struct {
  5305  	F__ccgo_pad1 [0]uint64
  5306  	F__size      [8]int8
  5307  } /* pthreadtypes.h:97:3 */
  5308  
  5309  // POSIX spinlock data type.
  5310  type Tpthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5311  
  5312  // POSIX barriers data type.  The structure of the type is
  5313  //    deliberately not exposed.
  5314  type Tpthread_barrier_t = struct {
  5315  	F__ccgo_pad1 [0]uint64
  5316  	F__size      [32]int8
  5317  } /* pthreadtypes.h:112:3 */
  5318  
  5319  type Tpthread_barrierattr_t = struct {
  5320  	F__ccgo_pad1 [0]uint32
  5321  	F__size      [4]int8
  5322  } /* pthreadtypes.h:118:3 */
  5323  
  5324  // Reentrant versions of the `random' family of functions.
  5325  //    These functions all use the following data structure to contain
  5326  //    state, rather than global state variables.
  5327  
  5328  type Srandom_data = struct {
  5329  	Ffptr        uintptr
  5330  	Frptr        uintptr
  5331  	Fstate       uintptr
  5332  	Frand_type   int32
  5333  	Frand_deg    int32
  5334  	Frand_sep    int32
  5335  	F__ccgo_pad1 [4]byte
  5336  	Fend_ptr     uintptr
  5337  } /* stdlib.h:424:1 */
  5338  
  5339  // Data structure for communication with thread safe versions.  This
  5340  //    type is to be regarded as opaque.  It's only exported because users
  5341  //    have to allocate objects of this type.
  5342  type Sdrand48_data = struct {
  5343  	F__x     [3]uint16
  5344  	F__old_x [3]uint16
  5345  	F__c     uint16
  5346  	F__init  uint16
  5347  	F__a     uint64
  5348  } /* stdlib.h:491:1 */
  5349  
  5350  // Shorthand for type of comparison functions.
  5351  type T__compar_fn_t = uintptr /* stdlib.h:816:13 */
  5352  
  5353  type Tcomparison_fn_t = T__compar_fn_t /* stdlib.h:819:23 */
  5354  type T__compar_d_fn_t = uintptr        /* stdlib.h:823:13 */
  5355  
  5356  // Macros to make boolean values more obvious. The #ifndef is to pacify
  5357  // compiler warnings in environments where these macros are defined elsewhere.
  5358  // Unfortunately, there is no way to do the same for the typedef.
  5359  
  5360  type TBOOL = int32 /* pcre2_internal.h:67:13 */
  5361  
  5362  // Valgrind (memcheck) support
  5363  
  5364  // -ftrivial-auto-var-init support supports initializing all local variables
  5365  // to avoid some classes of bug, but this can cause an unacceptable slowdown
  5366  // for large on-stack arrays in hot functions. This macro lets us annotate
  5367  // such arrays.
  5368  
  5369  // Older versions of MSVC lack snprintf(). This define allows for
  5370  // warning/error-free compilation and testing with MSVC compilers back to at least
  5371  // MSVC 10/2010. Except for VC6 (which is missing some fundamentals and fails).
  5372  
  5373  // When compiling a DLL for Windows, the exported symbols have to be declared
  5374  // using some MS magic. I found some useful information on this web page:
  5375  // http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the
  5376  // information there, using __declspec(dllexport) without "extern" we have a
  5377  // definition; with "extern" we have a declaration. The settings here override the
  5378  // setting in pcre2.h (which is included below); it defines only PCRE2_EXP_DECL,
  5379  // which is all that is needed for applications (they just import the symbols). We
  5380  // use:
  5381  //
  5382  //   PCRE2_EXP_DECL    for declarations
  5383  //   PCRE2_EXP_DEFN    for definitions
  5384  //
  5385  // The reason for wrapping this in #ifndef PCRE2_EXP_DECL is so that pcre2test,
  5386  // which is an application, but needs to import this file in order to "peek" at
  5387  // internals, can #include pcre2.h first to get an application's-eye view.
  5388  //
  5389  // In principle, people compiling for non-Windows, non-Unix-like (i.e. uncommon,
  5390  // special-purpose environments) might want to stick other stuff in front of
  5391  // exported symbols. That's why, in the non-Windows case, we set PCRE2_EXP_DEFN
  5392  // only if it is not already set.
  5393  
  5394  // Include the public PCRE2 header and the definitions of UCP character
  5395  // property values. This must follow the setting of PCRE2_EXP_DECL above.
  5396  
  5397  // ************************************************
  5398  //
  5399  //       Perl-Compatible Regular Expressions      *
  5400  //
  5401  
  5402  // This is the public header file for the PCRE library, second API, to be
  5403  // #included by applications that call PCRE2 functions.
  5404  //
  5405  //            Copyright (c) 2016-2021 University of Cambridge
  5406  //
  5407  // -----------------------------------------------------------------------------
  5408  // Redistribution and use in source and binary forms, with or without
  5409  // modification, are permitted provided that the following conditions are met:
  5410  //
  5411  //     * Redistributions of source code must retain the above copyright notice,
  5412  //       this list of conditions and the following disclaimer.
  5413  //
  5414  //     * Redistributions in binary form must reproduce the above copyright
  5415  //       notice, this list of conditions and the following disclaimer in the
  5416  //       documentation and/or other materials provided with the distribution.
  5417  //
  5418  //     * Neither the name of the University of Cambridge nor the names of its
  5419  //       contributors may be used to endorse or promote products derived from
  5420  //       this software without specific prior written permission.
  5421  //
  5422  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  5423  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  5424  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  5425  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  5426  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  5427  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  5428  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  5429  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  5430  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  5431  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  5432  // POSSIBILITY OF SUCH DAMAGE.
  5433  // -----------------------------------------------------------------------------
  5434  
  5435  // The current PCRE version information.
  5436  
  5437  // When an application links to a PCRE DLL in Windows, the symbols that are
  5438  // imported have to be identified as such. When building PCRE2, the appropriate
  5439  // export setting is defined in pcre2_internal.h, which includes this file. So we
  5440  // don't change existing definitions of PCRE2_EXP_DECL.
  5441  
  5442  // By default, we use the standard "extern" declarations.
  5443  
  5444  // When compiling with the MSVC compiler, it is sometimes necessary to include
  5445  // a "calling convention" before exported function names. (This is secondhand
  5446  // information; I know nothing about MSVC myself). For example, something like
  5447  //
  5448  //   void __cdecl function(....)
  5449  //
  5450  // might be needed. In order so make this easy, all the exported functions have
  5451  // PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not
  5452  // set, we ensure here that it has no effect.
  5453  
  5454  // Have to include limits.h, stdlib.h, and inttypes.h to ensure that size_t and
  5455  // uint8_t, UCHAR_MAX, etc are defined. Some systems that do have inttypes.h do
  5456  // not have stdint.h, which is why we use inttypes.h, which according to the C
  5457  // standard is a superset of stdint.h. If inttypes.h is not available the build
  5458  // will break and the relevant values must be provided by some other means.
  5459  
  5460  // Copyright (C) 1992-2021 Free Software Foundation, Inc.
  5461  //
  5462  // This file is part of GCC.
  5463  //
  5464  // GCC is free software; you can redistribute it and/or modify it under
  5465  // the terms of the GNU General Public License as published by the Free
  5466  // Software Foundation; either version 3, or (at your option) any later
  5467  // version.
  5468  //
  5469  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  5470  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
  5471  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  5472  // for more details.
  5473  //
  5474  // Under Section 7 of GPL version 3, you are granted additional
  5475  // permissions described in the GCC Runtime Library Exception, version
  5476  // 3.1, as published by the Free Software Foundation.
  5477  //
  5478  // You should have received a copy of the GNU General Public License and
  5479  // a copy of the GCC Runtime Library Exception along with this program;
  5480  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  5481  // <http://www.gnu.org/licenses/>.
  5482  
  5483  // This administrivia gets added to the beginning of limits.h
  5484  //    if the system has its own version of limits.h.
  5485  
  5486  // We use _GCC_LIMITS_H_ because we want this not to match
  5487  //    any macros that the system's limits.h uses for its own purposes.
  5488  
  5489  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5490  //    Copyright The GNU Toolchain Authors.
  5491  //    This file is part of the GNU C Library.
  5492  //
  5493  //    The GNU C Library is free software; you can redistribute it and/or
  5494  //    modify it under the terms of the GNU Lesser General Public
  5495  //    License as published by the Free Software Foundation; either
  5496  //    version 2.1 of the License, or (at your option) any later version.
  5497  //
  5498  //    The GNU C Library is distributed in the hope that it will be useful,
  5499  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5500  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5501  //    Lesser General Public License for more details.
  5502  //
  5503  //    You should have received a copy of the GNU Lesser General Public
  5504  //    License along with the GNU C Library; if not, see
  5505  //    <https://www.gnu.org/licenses/>.
  5506  
  5507  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  5508  
  5509  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5510  //    This file is part of the GNU C Library.
  5511  //
  5512  //    The GNU C Library is free software; you can redistribute it and/or
  5513  //    modify it under the terms of the GNU Lesser General Public
  5514  //    License as published by the Free Software Foundation; either
  5515  //    version 2.1 of the License, or (at your option) any later version.
  5516  //
  5517  //    The GNU C Library is distributed in the hope that it will be useful,
  5518  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5519  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5520  //    Lesser General Public License for more details.
  5521  //
  5522  //    You should have received a copy of the GNU Lesser General Public
  5523  //    License along with the GNU C Library; if not, see
  5524  //    <https://www.gnu.org/licenses/>.
  5525  
  5526  //	ISO C99: 7.8 Format conversion of integer types	<inttypes.h>
  5527  
  5528  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5529  //    This file is part of the GNU C Library.
  5530  //
  5531  //    The GNU C Library is free software; you can redistribute it and/or
  5532  //    modify it under the terms of the GNU Lesser General Public
  5533  //    License as published by the Free Software Foundation; either
  5534  //    version 2.1 of the License, or (at your option) any later version.
  5535  //
  5536  //    The GNU C Library is distributed in the hope that it will be useful,
  5537  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5538  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5539  //    Lesser General Public License for more details.
  5540  //
  5541  //    You should have received a copy of the GNU Lesser General Public
  5542  //    License along with the GNU C Library; if not, see
  5543  //    <https://www.gnu.org/licenses/>.
  5544  
  5545  // Get the type definitions.
  5546  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5547  //    This file is part of the GNU C Library.
  5548  //
  5549  //    The GNU C Library is free software; you can redistribute it and/or
  5550  //    modify it under the terms of the GNU Lesser General Public
  5551  //    License as published by the Free Software Foundation; either
  5552  //    version 2.1 of the License, or (at your option) any later version.
  5553  //
  5554  //    The GNU C Library is distributed in the hope that it will be useful,
  5555  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5556  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5557  //    Lesser General Public License for more details.
  5558  //
  5559  //    You should have received a copy of the GNU Lesser General Public
  5560  //    License along with the GNU C Library; if not, see
  5561  //    <https://www.gnu.org/licenses/>.
  5562  
  5563  //	ISO C99: 7.18 Integer types <stdint.h>
  5564  
  5565  // Handle feature test macros at the start of a header.
  5566  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5567  //    This file is part of the GNU C Library.
  5568  //
  5569  //    The GNU C Library is free software; you can redistribute it and/or
  5570  //    modify it under the terms of the GNU Lesser General Public
  5571  //    License as published by the Free Software Foundation; either
  5572  //    version 2.1 of the License, or (at your option) any later version.
  5573  //
  5574  //    The GNU C Library is distributed in the hope that it will be useful,
  5575  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5576  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5577  //    Lesser General Public License for more details.
  5578  //
  5579  //    You should have received a copy of the GNU Lesser General Public
  5580  //    License along with the GNU C Library; if not, see
  5581  //    <https://www.gnu.org/licenses/>.
  5582  
  5583  // This header is internal to glibc and should not be included outside
  5584  //    of glibc headers.  Headers including it must define
  5585  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  5586  //    cannot have multiple include guards because ISO C feature test
  5587  //    macros depend on the definition of the macro when an affected
  5588  //    header is included, not when the first system header is
  5589  //    included.
  5590  
  5591  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5592  //    This file is part of the GNU C Library.
  5593  //
  5594  //    The GNU C Library is free software; you can redistribute it and/or
  5595  //    modify it under the terms of the GNU Lesser General Public
  5596  //    License as published by the Free Software Foundation; either
  5597  //    version 2.1 of the License, or (at your option) any later version.
  5598  //
  5599  //    The GNU C Library is distributed in the hope that it will be useful,
  5600  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5601  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5602  //    Lesser General Public License for more details.
  5603  //
  5604  //    You should have received a copy of the GNU Lesser General Public
  5605  //    License along with the GNU C Library; if not, see
  5606  //    <https://www.gnu.org/licenses/>.
  5607  
  5608  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  5609  //    macro.
  5610  
  5611  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  5612  //    macro.  Most but not all symbols enabled by that macro in TS
  5613  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  5614  //    Annex F still require a new feature test macro
  5615  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  5616  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  5617  //    18661-1 are not included in C2X (and thus should depend on
  5618  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  5619  //    enabled).
  5620  //
  5621  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  5622  //    18661-1 not included in C2X.
  5623  //
  5624  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  5625  //    18661-1 that are also included in C2X (with no feature test macro
  5626  //    required in C2X).
  5627  //
  5628  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  5629  //    that are included in C2X but conditional on
  5630  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  5631  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  5632  //    18661-1.)
  5633  
  5634  // ISO/IEC TS 18661-4:2015 defines the
  5635  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  5636  //    functions, the symbols from this TS are enabled unconditionally in
  5637  //    C2X.
  5638  
  5639  // ISO/IEC TS 18661-3:2015 defines the
  5640  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  5641  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5642  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5643  //    This file is part of the GNU C Library.
  5644  //
  5645  //    The GNU C Library is free software; you can redistribute it and/or
  5646  //    modify it under the terms of the GNU Lesser General Public
  5647  //    License as published by the Free Software Foundation; either
  5648  //    version 2.1 of the License, or (at your option) any later version.
  5649  //
  5650  //    The GNU C Library is distributed in the hope that it will be useful,
  5651  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5652  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5653  //    Lesser General Public License for more details.
  5654  //
  5655  //    You should have received a copy of the GNU Lesser General Public
  5656  //    License along with the GNU C Library; if not, see
  5657  //    <https://www.gnu.org/licenses/>.
  5658  
  5659  // Never include this file directly; use <sys/types.h> instead.
  5660  
  5661  // wchar_t type related definitions.
  5662  //    Copyright (C) 2000-2022 Free Software Foundation, Inc.
  5663  //    This file is part of the GNU C Library.
  5664  //
  5665  //    The GNU C Library is free software; you can redistribute it and/or
  5666  //    modify it under the terms of the GNU Lesser General Public
  5667  //    License as published by the Free Software Foundation; either
  5668  //    version 2.1 of the License, or (at your option) any later version.
  5669  //
  5670  //    The GNU C Library is distributed in the hope that it will be useful,
  5671  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5672  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5673  //    Lesser General Public License for more details.
  5674  //
  5675  //    You should have received a copy of the GNU Lesser General Public
  5676  //    License along with the GNU C Library; if not, see
  5677  //    <https://www.gnu.org/licenses/>.
  5678  
  5679  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  5680  //    are not defined, give the right value and type as long as both int
  5681  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  5682  //    ensures that the type is correct; it is necessary to use (L'\0' +
  5683  //    0) rather than just L'\0' so that the type in C++ is the promoted
  5684  //    version of wchar_t rather than the distinct wchar_t type itself.
  5685  //    Because wchar_t in preprocessor #if expressions is treated as
  5686  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  5687  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  5688  //    to define __WCHAR_MAX in the unsigned case.
  5689  
  5690  // Determine the wordsize from the preprocessor defines.
  5691  
  5692  // Both x86-64 and x32 use the 64-bit system call interface.
  5693  
  5694  // Exact integral types.
  5695  
  5696  // Signed.
  5697  // Define intN_t types.
  5698  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5699  //    This file is part of the GNU C Library.
  5700  //
  5701  //    The GNU C Library is free software; you can redistribute it and/or
  5702  //    modify it under the terms of the GNU Lesser General Public
  5703  //    License as published by the Free Software Foundation; either
  5704  //    version 2.1 of the License, or (at your option) any later version.
  5705  //
  5706  //    The GNU C Library is distributed in the hope that it will be useful,
  5707  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5708  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5709  //    Lesser General Public License for more details.
  5710  //
  5711  //    You should have received a copy of the GNU Lesser General Public
  5712  //    License along with the GNU C Library; if not, see
  5713  //    <https://www.gnu.org/licenses/>.
  5714  
  5715  // Unsigned.
  5716  // Define uintN_t types.
  5717  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5718  //    This file is part of the GNU C Library.
  5719  //
  5720  //    The GNU C Library is free software; you can redistribute it and/or
  5721  //    modify it under the terms of the GNU Lesser General Public
  5722  //    License as published by the Free Software Foundation; either
  5723  //    version 2.1 of the License, or (at your option) any later version.
  5724  //
  5725  //    The GNU C Library is distributed in the hope that it will be useful,
  5726  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5727  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5728  //    Lesser General Public License for more details.
  5729  //
  5730  //    You should have received a copy of the GNU Lesser General Public
  5731  //    License along with the GNU C Library; if not, see
  5732  //    <https://www.gnu.org/licenses/>.
  5733  
  5734  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5735  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5736  //    This file is part of the GNU C Library.
  5737  //
  5738  //    The GNU C Library is free software; you can redistribute it and/or
  5739  //    modify it under the terms of the GNU Lesser General Public
  5740  //    License as published by the Free Software Foundation; either
  5741  //    version 2.1 of the License, or (at your option) any later version.
  5742  //
  5743  //    The GNU C Library is distributed in the hope that it will be useful,
  5744  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5745  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5746  //    Lesser General Public License for more details.
  5747  //
  5748  //    You should have received a copy of the GNU Lesser General Public
  5749  //    License along with the GNU C Library; if not, see
  5750  //    <https://www.gnu.org/licenses/>.
  5751  
  5752  // Never include this file directly; use <sys/types.h> instead.
  5753  
  5754  type Tuint8_t = T__uint8_t   /* stdint-uintn.h:24:19 */
  5755  type Tuint16_t = T__uint16_t /* stdint-uintn.h:25:20 */
  5756  type Tuint32_t = T__uint32_t /* stdint-uintn.h:26:20 */
  5757  type Tuint64_t = T__uint64_t /* stdint-uintn.h:27:20 */
  5758  
  5759  // Small types.
  5760  
  5761  // Signed.
  5762  type Tint_least8_t = T__int_least8_t   /* stdint.h:43:24 */
  5763  type Tint_least16_t = T__int_least16_t /* stdint.h:44:25 */
  5764  type Tint_least32_t = T__int_least32_t /* stdint.h:45:25 */
  5765  type Tint_least64_t = T__int_least64_t /* stdint.h:46:25 */
  5766  
  5767  // Unsigned.
  5768  type Tuint_least8_t = T__uint_least8_t   /* stdint.h:49:25 */
  5769  type Tuint_least16_t = T__uint_least16_t /* stdint.h:50:26 */
  5770  type Tuint_least32_t = T__uint_least32_t /* stdint.h:51:26 */
  5771  type Tuint_least64_t = T__uint_least64_t /* stdint.h:52:26 */
  5772  
  5773  // Fast types.
  5774  
  5775  // Signed.
  5776  type Tint_fast8_t = int8   /* stdint.h:58:22 */
  5777  type Tint_fast16_t = int64 /* stdint.h:60:19 */
  5778  type Tint_fast32_t = int64 /* stdint.h:61:19 */
  5779  type Tint_fast64_t = int64 /* stdint.h:62:19 */
  5780  
  5781  // Unsigned.
  5782  type Tuint_fast8_t = uint8   /* stdint.h:71:24 */
  5783  type Tuint_fast16_t = uint64 /* stdint.h:73:27 */
  5784  type Tuint_fast32_t = uint64 /* stdint.h:74:27 */
  5785  type Tuint_fast64_t = uint64 /* stdint.h:75:27 */
  5786  
  5787  // Types for `void *' pointers.
  5788  type Tintptr_t = int64   /* stdint.h:87:19 */
  5789  type Tuintptr_t = uint64 /* stdint.h:90:27 */
  5790  
  5791  // Largest integral types.
  5792  type Tintmax_t = T__intmax_t   /* stdint.h:101:21 */
  5793  type Tuintmax_t = T__uintmax_t /* stdint.h:102:22 */
  5794  
  5795  // Limits of integral types.
  5796  
  5797  // Minimum of signed integral types.
  5798  // Maximum of signed integral types.
  5799  
  5800  // Maximum of unsigned integral types.
  5801  
  5802  // Minimum of signed integral types having a minimum size.
  5803  // Maximum of signed integral types having a minimum size.
  5804  
  5805  // Maximum of unsigned integral types having a minimum size.
  5806  
  5807  // Minimum of fast signed integral types having a minimum size.
  5808  // Maximum of fast signed integral types having a minimum size.
  5809  
  5810  // Maximum of fast unsigned integral types having a minimum size.
  5811  
  5812  // Values to test for integral types holding `void *' pointer.
  5813  
  5814  // Minimum for largest signed integral type.
  5815  // Maximum for largest signed integral type.
  5816  
  5817  // Maximum for largest unsigned integral type.
  5818  
  5819  // Limits of other integer types.
  5820  
  5821  // Limits of `ptrdiff_t' type.
  5822  
  5823  // Limits of `sig_atomic_t'.
  5824  
  5825  // Limit of `size_t' type.
  5826  
  5827  // Limits of `wchar_t'.
  5828  // These constants might also be defined in <wchar.h>.
  5829  
  5830  // Limits of `wint_t'.
  5831  
  5832  // Signed.
  5833  
  5834  // Unsigned.
  5835  
  5836  // Maximal type.
  5837  
  5838  // Get a definition for wchar_t.  But we must not define wchar_t itself.
  5839  type T__gwchar_t = int32 /* inttypes.h:34:24 */
  5840  
  5841  // Macros for printing format specifiers.
  5842  
  5843  // Decimal notation.
  5844  
  5845  // Octal notation.
  5846  
  5847  // Unsigned integers.
  5848  
  5849  // lowercase hexadecimal notation.
  5850  
  5851  // UPPERCASE hexadecimal notation.
  5852  
  5853  // Macros for printing `intmax_t' and `uintmax_t'.
  5854  
  5855  // Macros for printing `intptr_t' and `uintptr_t'.
  5856  
  5857  // Macros for scanning format specifiers.
  5858  
  5859  // Signed decimal notation.
  5860  
  5861  // Signed decimal notation.
  5862  
  5863  // Unsigned decimal notation.
  5864  
  5865  // Octal notation.
  5866  
  5867  // Hexadecimal notation.
  5868  
  5869  // Macros for scanning `intmax_t' and `uintmax_t'.
  5870  
  5871  // Macros for scaning `intptr_t' and `uintptr_t'.
  5872  
  5873  // We have to define the `uintmax_t' type using `ldiv_t'.
  5874  type Timaxdiv_t = struct {
  5875  	Fquot int64
  5876  	Frem  int64
  5877  } /* inttypes.h:275:5 */
  5878  
  5879  // Allow for C++ users compiling this directly.
  5880  
  5881  // The following option bits can be passed to pcre2_compile(), pcre2_match(),
  5882  // or pcre2_dfa_match(). PCRE2_NO_UTF_CHECK affects only the function to which it
  5883  // is passed. Put these bits at the most significant end of the options word so
  5884  // others can be added next to them
  5885  
  5886  // The following option bits can be passed only to pcre2_compile(). However,
  5887  // they may affect compilation, JIT compilation, and/or interpretive execution.
  5888  // The following tags indicate which:
  5889  //
  5890  // C   alters what is compiled by pcre2_compile()
  5891  // J   alters what is compiled by pcre2_jit_compile()
  5892  // M   is inspected during pcre2_match() execution
  5893  // D   is inspected during pcre2_dfa_match() execution
  5894  
  5895  // An additional compile options word is available in the compile context.
  5896  
  5897  // These are for pcre2_jit_compile().
  5898  
  5899  // These are for pcre2_match(), pcre2_dfa_match(), pcre2_jit_match(), and
  5900  // pcre2_substitute(). Some are allowed only for one of the functions, and in
  5901  // these cases it is noted below. Note that PCRE2_ANCHORED, PCRE2_ENDANCHORED and
  5902  // PCRE2_NO_UTF_CHECK can also be passed to these functions (though
  5903  // pcre2_jit_match() ignores the latter since it bypasses all sanity checks).
  5904  
  5905  // Options for pcre2_pattern_convert().
  5906  
  5907  // Newline and \R settings, for use in compile contexts. The newline values
  5908  // must be kept in step with values set in config.h and both sets must all be
  5909  // greater than zero.
  5910  
  5911  // Error codes for pcre2_compile(). Some of these are also used by
  5912  // pcre2_pattern_convert().
  5913  
  5914  // Error 159 is obsolete and should now never occur
  5915  
  5916  // "Expected" matching error codes: no match and partial match.
  5917  
  5918  // Error codes for UTF-8 validity checks
  5919  
  5920  // Error codes for UTF-16 validity checks
  5921  
  5922  // Error codes for UTF-32 validity checks
  5923  
  5924  // Miscellaneous error codes for pcre2[_dfa]_match(), substring extraction
  5925  // functions, context functions, and serializing functions. They are in numerical
  5926  // order. Originally they were in alphabetical order too, but now that PCRE2 is
  5927  // released, the numbers must not be changed.
  5928  
  5929  // Request types for pcre2_pattern_info()
  5930  
  5931  // Request types for pcre2_config().
  5932  
  5933  // Types for code units in patterns and subject strings.
  5934  
  5935  type TPCRE2_UCHAR8 = Tuint8_t   /* pcre2.h:458:18 */
  5936  type TPCRE2_UCHAR16 = Tuint16_t /* pcre2.h:459:18 */
  5937  type TPCRE2_UCHAR32 = Tuint32_t /* pcre2.h:460:18 */
  5938  
  5939  type TPCRE2_SPTR8 = uintptr  /* pcre2.h:462:29 */
  5940  type TPCRE2_SPTR16 = uintptr /* pcre2.h:463:29 */
  5941  type TPCRE2_SPTR32 = uintptr /* pcre2.h:464:29 */
  5942  
  5943  // The PCRE2_SIZE type is used for all string lengths and offsets in PCRE2,
  5944  // including pattern offsets for errors and subject offsets after a match. We
  5945  // define special values to indicate zero-terminated strings and unset offsets in
  5946  // the offset vector (ovector).
  5947  
  5948  // Generic types for opaque structures and JIT callback functions. These
  5949  // declarations are defined in a macro that is expanded for each width later.
  5950  
  5951  // The structures for passing out data via callout functions. We use structures
  5952  // so that new fields can be added on the end in future versions, without changing
  5953  // the API of the function, thereby allowing old clients to work without
  5954  // modification. Define the generic versions in a macro; the width-specific
  5955  // versions are generated from this macro below.
  5956  
  5957  // Flags for the callout_flags field. These are cleared after a callout.
  5958  
  5959  // List the generic forms of all other functions in macros, which will be
  5960  // expanded for each width below. Start with functions that give general
  5961  // information.
  5962  
  5963  // Functions for manipulating contexts.
  5964  
  5965  // Functions concerned with compiling a pattern to PCRE internal code.
  5966  
  5967  // Functions that give information about a compiled pattern.
  5968  
  5969  // Functions for running a match and inspecting the result.
  5970  
  5971  // Convenience functions for handling matched substrings.
  5972  
  5973  // Functions for serializing / deserializing compiled patterns.
  5974  
  5975  // Convenience function for match + substitute.
  5976  
  5977  // Functions for converting pattern source strings.
  5978  
  5979  // Functions for JIT processing
  5980  
  5981  // Other miscellaneous functions.
  5982  
  5983  // Define macros that generate width-specific names from generic versions. The
  5984  // three-level macro scheme is necessary to get the macros expanded when we want
  5985  // them to be. First we get the width from PCRE2_LOCAL_WIDTH, which is used for
  5986  // generating three versions of everything below. After that, PCRE2_SUFFIX will be
  5987  // re-defined to use PCRE2_CODE_UNIT_WIDTH, for use when macros such as
  5988  // pcre2_compile are called by application code.
  5989  
  5990  // Data types
  5991  
  5992  // Data blocks
  5993  
  5994  // Functions: the complete list in alphabetical order
  5995  
  5996  // Keep this old function name for backwards compatibility
  5997  
  5998  // Keep this obsolete function for backwards compatibility: it is now a noop.
  5999  
  6000  // Now generate all three sets of width-specific structures and function
  6001  // prototypes.
  6002  
  6003  type Spcre2_real_general_context_8 = struct{ Fmemctl Tpcre2_memctl } /* pcre2.h:935:1 */
  6004  
  6005  type Tpcre2_general_context_8 = Spcre2_real_general_context_8 /* pcre2.h:935:1 */
  6006  type Spcre2_real_compile_context_8 = struct {
  6007  	Fmemctl             Tpcre2_memctl
  6008  	Fstack_guard        uintptr
  6009  	Fstack_guard_data   uintptr
  6010  	Ftables             uintptr
  6011  	Fmax_pattern_length Tsize_t
  6012  	Fbsr_convention     Tuint16_t
  6013  	Fnewline_convention Tuint16_t
  6014  	Fparens_nest_limit  Tuint32_t
  6015  	Fextra_options      Tuint32_t
  6016  	F__ccgo_pad1        [4]byte
  6017  } /* pcre2.h:935:1 */
  6018  
  6019  type Tpcre2_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2.h:935:1 */
  6020  type Spcre2_real_match_context_8 = struct {
  6021  	Fmemctl                  Tpcre2_memctl
  6022  	Fcallout                 uintptr
  6023  	Fcallout_data            uintptr
  6024  	Fsubstitute_callout      uintptr
  6025  	Fsubstitute_callout_data uintptr
  6026  	Foffset_limit            Tsize_t
  6027  	Fheap_limit              Tuint32_t
  6028  	Fmatch_limit             Tuint32_t
  6029  	Fdepth_limit             Tuint32_t
  6030  	F__ccgo_pad1             [4]byte
  6031  } /* pcre2.h:935:1 */
  6032  
  6033  type Tpcre2_match_context_8 = Spcre2_real_match_context_8 /* pcre2.h:935:1 */
  6034  type Spcre2_real_convert_context_8 = struct {
  6035  	Fmemctl         Tpcre2_memctl
  6036  	Fglob_separator Tuint32_t
  6037  	Fglob_escape    Tuint32_t
  6038  } /* pcre2.h:935:1 */
  6039  
  6040  type Tpcre2_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2.h:935:1 */
  6041  type Spcre2_real_code_8 = struct {
  6042  	Fmemctl             Tpcre2_memctl
  6043  	Ftables             uintptr
  6044  	Fexecutable_jit     uintptr
  6045  	Fstart_bitmap       [32]Tuint8_t
  6046  	Fblocksize          Tsize_t
  6047  	Fmagic_number       Tuint32_t
  6048  	Fcompile_options    Tuint32_t
  6049  	Foverall_options    Tuint32_t
  6050  	Fextra_options      Tuint32_t
  6051  	Fflags              Tuint32_t
  6052  	Flimit_heap         Tuint32_t
  6053  	Flimit_match        Tuint32_t
  6054  	Flimit_depth        Tuint32_t
  6055  	Ffirst_codeunit     Tuint32_t
  6056  	Flast_codeunit      Tuint32_t
  6057  	Fbsr_convention     Tuint16_t
  6058  	Fnewline_convention Tuint16_t
  6059  	Fmax_lookbehind     Tuint16_t
  6060  	Fminlength          Tuint16_t
  6061  	Ftop_bracket        Tuint16_t
  6062  	Ftop_backref        Tuint16_t
  6063  	Fname_entry_size    Tuint16_t
  6064  	Fname_count         Tuint16_t
  6065  } /* pcre2.h:935:1 */
  6066  
  6067  type Tpcre2_code_8 = Spcre2_real_code_8 /* pcre2.h:935:1 */
  6068  type Spcre2_real_match_data_8 = struct {
  6069  	Fmemctl    Tpcre2_memctl
  6070  	Fcode      uintptr
  6071  	Fsubject   TPCRE2_SPTR8
  6072  	Fmark      TPCRE2_SPTR8
  6073  	Fleftchar  Tsize_t
  6074  	Frightchar Tsize_t
  6075  	Fstartchar Tsize_t
  6076  	Fmatchedby Tuint8_t
  6077  	Fflags     Tuint8_t
  6078  	Foveccount Tuint16_t
  6079  	Frc        int32
  6080  	Fovector   [131072]Tsize_t
  6081  } /* pcre2.h:935:1 */
  6082  
  6083  type Tpcre2_match_data_8 = Spcre2_real_match_data_8 /* pcre2.h:935:1 */
  6084  type Spcre2_real_jit_stack_8 = struct {
  6085  	Fmemctl Tpcre2_memctl
  6086  	Fstack  uintptr
  6087  } /* pcre2.h:935:1 */
  6088  
  6089  type Tpcre2_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2.h:935:1 */
  6090  type Tpcre2_jit_callback_8 = uintptr              /* pcre2.h:935:1 */
  6091  type Spcre2_callout_block_8 = struct {
  6092  	Fversion               Tuint32_t
  6093  	Fcallout_number        Tuint32_t
  6094  	Fcapture_top           Tuint32_t
  6095  	Fcapture_last          Tuint32_t
  6096  	Foffset_vector         uintptr
  6097  	Fmark                  TPCRE2_SPTR8
  6098  	Fsubject               TPCRE2_SPTR8
  6099  	Fsubject_length        Tsize_t
  6100  	Fstart_match           Tsize_t
  6101  	Fcurrent_position      Tsize_t
  6102  	Fpattern_position      Tsize_t
  6103  	Fnext_item_length      Tsize_t
  6104  	Fcallout_string_offset Tsize_t
  6105  	Fcallout_string_length Tsize_t
  6106  	Fcallout_string        TPCRE2_SPTR8
  6107  	Fcallout_flags         Tuint32_t
  6108  	F__ccgo_pad1           [4]byte
  6109  } /* pcre2.h:935:1 */
  6110  
  6111  type Tpcre2_callout_block_8 = Spcre2_callout_block_8 /* pcre2.h:935:1 */
  6112  type Spcre2_callout_enumerate_block_8 = struct {
  6113  	Fversion               Tuint32_t
  6114  	F__ccgo_pad1           [4]byte
  6115  	Fpattern_position      Tsize_t
  6116  	Fnext_item_length      Tsize_t
  6117  	Fcallout_number        Tuint32_t
  6118  	F__ccgo_pad2           [4]byte
  6119  	Fcallout_string_offset Tsize_t
  6120  	Fcallout_string_length Tsize_t
  6121  	Fcallout_string        TPCRE2_SPTR8
  6122  } /* pcre2.h:935:1 */
  6123  
  6124  type Tpcre2_callout_enumerate_block_8 = Spcre2_callout_enumerate_block_8 /* pcre2.h:935:1 */
  6125  type Spcre2_substitute_callout_block_8 = struct {
  6126  	Fversion        Tuint32_t
  6127  	F__ccgo_pad1    [4]byte
  6128  	Finput          TPCRE2_SPTR8
  6129  	Foutput         TPCRE2_SPTR8
  6130  	Foutput_offsets [2]Tsize_t
  6131  	Fovector        uintptr
  6132  	Foveccount      Tuint32_t
  6133  	Fsubscount      Tuint32_t
  6134  } /* pcre2.h:935:1 */
  6135  
  6136  type Tpcre2_substitute_callout_block_8 = Spcre2_substitute_callout_block_8 /* pcre2.h:935:1 */
  6137  type Tpcre2_jit_callback_16 = uintptr                                      /* pcre2.h:939:1 */
  6138  type Spcre2_callout_block_16 = struct {
  6139  	Fversion               Tuint32_t
  6140  	Fcallout_number        Tuint32_t
  6141  	Fcapture_top           Tuint32_t
  6142  	Fcapture_last          Tuint32_t
  6143  	Foffset_vector         uintptr
  6144  	Fmark                  TPCRE2_SPTR16
  6145  	Fsubject               TPCRE2_SPTR16
  6146  	Fsubject_length        Tsize_t
  6147  	Fstart_match           Tsize_t
  6148  	Fcurrent_position      Tsize_t
  6149  	Fpattern_position      Tsize_t
  6150  	Fnext_item_length      Tsize_t
  6151  	Fcallout_string_offset Tsize_t
  6152  	Fcallout_string_length Tsize_t
  6153  	Fcallout_string        TPCRE2_SPTR16
  6154  	Fcallout_flags         Tuint32_t
  6155  	F__ccgo_pad1           [4]byte
  6156  } /* pcre2.h:939:1 */
  6157  
  6158  type Tpcre2_callout_block_16 = Spcre2_callout_block_16 /* pcre2.h:939:1 */
  6159  type Spcre2_callout_enumerate_block_16 = struct {
  6160  	Fversion               Tuint32_t
  6161  	F__ccgo_pad1           [4]byte
  6162  	Fpattern_position      Tsize_t
  6163  	Fnext_item_length      Tsize_t
  6164  	Fcallout_number        Tuint32_t
  6165  	F__ccgo_pad2           [4]byte
  6166  	Fcallout_string_offset Tsize_t
  6167  	Fcallout_string_length Tsize_t
  6168  	Fcallout_string        TPCRE2_SPTR16
  6169  } /* pcre2.h:939:1 */
  6170  
  6171  type Tpcre2_callout_enumerate_block_16 = Spcre2_callout_enumerate_block_16 /* pcre2.h:939:1 */
  6172  type Spcre2_substitute_callout_block_16 = struct {
  6173  	Fversion        Tuint32_t
  6174  	F__ccgo_pad1    [4]byte
  6175  	Finput          TPCRE2_SPTR16
  6176  	Foutput         TPCRE2_SPTR16
  6177  	Foutput_offsets [2]Tsize_t
  6178  	Fovector        uintptr
  6179  	Foveccount      Tuint32_t
  6180  	Fsubscount      Tuint32_t
  6181  } /* pcre2.h:939:1 */
  6182  
  6183  type Tpcre2_substitute_callout_block_16 = Spcre2_substitute_callout_block_16 /* pcre2.h:939:1 */
  6184  type Tpcre2_jit_callback_32 = uintptr                                        /* pcre2.h:943:1 */
  6185  type Spcre2_callout_block_32 = struct {
  6186  	Fversion               Tuint32_t
  6187  	Fcallout_number        Tuint32_t
  6188  	Fcapture_top           Tuint32_t
  6189  	Fcapture_last          Tuint32_t
  6190  	Foffset_vector         uintptr
  6191  	Fmark                  TPCRE2_SPTR32
  6192  	Fsubject               TPCRE2_SPTR32
  6193  	Fsubject_length        Tsize_t
  6194  	Fstart_match           Tsize_t
  6195  	Fcurrent_position      Tsize_t
  6196  	Fpattern_position      Tsize_t
  6197  	Fnext_item_length      Tsize_t
  6198  	Fcallout_string_offset Tsize_t
  6199  	Fcallout_string_length Tsize_t
  6200  	Fcallout_string        TPCRE2_SPTR32
  6201  	Fcallout_flags         Tuint32_t
  6202  	F__ccgo_pad1           [4]byte
  6203  } /* pcre2.h:943:1 */
  6204  
  6205  type Tpcre2_callout_block_32 = Spcre2_callout_block_32 /* pcre2.h:943:1 */
  6206  type Spcre2_callout_enumerate_block_32 = struct {
  6207  	Fversion               Tuint32_t
  6208  	F__ccgo_pad1           [4]byte
  6209  	Fpattern_position      Tsize_t
  6210  	Fnext_item_length      Tsize_t
  6211  	Fcallout_number        Tuint32_t
  6212  	F__ccgo_pad2           [4]byte
  6213  	Fcallout_string_offset Tsize_t
  6214  	Fcallout_string_length Tsize_t
  6215  	Fcallout_string        TPCRE2_SPTR32
  6216  } /* pcre2.h:943:1 */
  6217  
  6218  type Tpcre2_callout_enumerate_block_32 = Spcre2_callout_enumerate_block_32 /* pcre2.h:943:1 */
  6219  type Spcre2_substitute_callout_block_32 = struct {
  6220  	Fversion        Tuint32_t
  6221  	F__ccgo_pad1    [4]byte
  6222  	Finput          TPCRE2_SPTR32
  6223  	Foutput         TPCRE2_SPTR32
  6224  	Foutput_offsets [2]Tsize_t
  6225  	Fovector        uintptr
  6226  	Foveccount      Tuint32_t
  6227  	Fsubscount      Tuint32_t
  6228  } /* pcre2.h:943:1 */
  6229  
  6230  type Tpcre2_substitute_callout_block_32 = Spcre2_substitute_callout_block_32 /* pcre2.h:943:1 */
  6231  
  6232  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6233  // definitions that follow must also be updated to match. There are also tables
  6234  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6235  // pcre2_dfa_match.c that must be updated.
  6236  
  6237  // This macro defines textual names for all the opcodes. These are used only
  6238  // for debugging, and some of them are only partial names. The macro is referenced
  6239  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6240  // some cases doesn't actually use these names at all).
  6241  
  6242  // This macro defines the length of fixed length operations in the compiled
  6243  // regex. The lengths are used when searching for specific things, and also in the
  6244  // debugging printing of a compiled regex. We use a macro so that it can be
  6245  // defined close to the definitions of the opcodes themselves.
  6246  //
  6247  // As things have been extended, some of these are no longer fixed lenths, but are
  6248  // minima instead. For example, the length of a single-character repeat may vary
  6249  // in UTF-8 mode. The code that uses this table must know about such things.
  6250  
  6251  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6252  
  6253  // ---------- Private structures that are mode-independent. ----------
  6254  
  6255  // Structure to hold data for custom memory management.
  6256  
  6257  type Spcre2_memctl = struct {
  6258  	Fmalloc      uintptr
  6259  	Ffree        uintptr
  6260  	Fmemory_data uintptr
  6261  } /* pcre2.h:935:1 */
  6262  
  6263  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6264  // definitions that follow must also be updated to match. There are also tables
  6265  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6266  // pcre2_dfa_match.c that must be updated.
  6267  
  6268  // This macro defines textual names for all the opcodes. These are used only
  6269  // for debugging, and some of them are only partial names. The macro is referenced
  6270  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6271  // some cases doesn't actually use these names at all).
  6272  
  6273  // This macro defines the length of fixed length operations in the compiled
  6274  // regex. The lengths are used when searching for specific things, and also in the
  6275  // debugging printing of a compiled regex. We use a macro so that it can be
  6276  // defined close to the definitions of the opcodes themselves.
  6277  //
  6278  // As things have been extended, some of these are no longer fixed lenths, but are
  6279  // minima instead. For example, the length of a single-character repeat may vary
  6280  // in UTF-8 mode. The code that uses this table must know about such things.
  6281  
  6282  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6283  
  6284  // ---------- Private structures that are mode-independent. ----------
  6285  
  6286  // Structure to hold data for custom memory management.
  6287  
  6288  type Tpcre2_memctl = Spcre2_memctl /* pcre2_internal.h:1794:3 */
  6289  
  6290  // Structure for building a chain of open capturing subpatterns during
  6291  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6292  // encountered.
  6293  
  6294  type Sopen_capitem = struct {
  6295  	Fnext         uintptr
  6296  	Fnumber       Tuint16_t
  6297  	Fassert_depth Tuint16_t
  6298  	F__ccgo_pad1  [4]byte
  6299  } /* pcre2_internal.h:1800:9 */
  6300  
  6301  // Structure for building a chain of open capturing subpatterns during
  6302  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6303  // encountered.
  6304  
  6305  type Topen_capitem = Sopen_capitem /* pcre2_internal.h:1804:3 */
  6306  
  6307  // Layout of the UCP type table that translates property names into types and
  6308  // codes. Each entry used to point directly to a name, but to reduce the number of
  6309  // relocations in shared libraries, it now has an offset into a single string
  6310  // instead.
  6311  
  6312  type Tucp_type_table = struct {
  6313  	Fname_offset Tuint16_t
  6314  	Ftype        Tuint16_t
  6315  	Fvalue       Tuint16_t
  6316  } /* pcre2_internal.h:1815:3 */
  6317  
  6318  // Unicode character database (UCD) record format
  6319  
  6320  type Tucd_record = struct {
  6321  	Fscript            Tuint8_t
  6322  	Fchartype          Tuint8_t
  6323  	Fgbprop            Tuint8_t
  6324  	Fcaseset           Tuint8_t
  6325  	Fother_case        Tint32_t
  6326  	Fscriptx_bidiclass Tuint16_t
  6327  	Fbprops            Tuint16_t
  6328  } /* pcre2_internal.h:1827:3 */
  6329  
  6330  // UCD access macros
  6331  
  6332  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6333  // that form a bitmap representing a list of scripts or boolean properties. These
  6334  // macros test or set a bit in the map by number.
  6335  
  6336  // Header for serialized pcre2 codes.
  6337  
  6338  type Spcre2_serialized_data = struct {
  6339  	Fmagic           Tuint32_t
  6340  	Fversion         Tuint32_t
  6341  	Fconfig          Tuint32_t
  6342  	Fnumber_of_codes Tint32_t
  6343  } /* pcre2_internal.h:1870:9 */
  6344  
  6345  // UCD access macros
  6346  
  6347  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6348  // that form a bitmap representing a list of scripts or boolean properties. These
  6349  // macros test or set a bit in the map by number.
  6350  
  6351  // Header for serialized pcre2 codes.
  6352  
  6353  type Tpcre2_serialized_data = Spcre2_serialized_data /* pcre2_internal.h:1875:3 */
  6354  
  6355  // Mode-dependent macros and hidden and private structures are defined in a
  6356  // separate file so that pcre2test can include them at all supported widths. When
  6357  // compiling the library, PCRE2_CODE_UNIT_WIDTH will be defined, and we can
  6358  // include them at the appropriate width, after setting up suffix macros for the
  6359  // private structures.
  6360  
  6361  // ************************************************
  6362  //
  6363  //      Perl-Compatible Regular Expressions       *
  6364  //
  6365  
  6366  // PCRE is a library of functions to support regular expressions whose syntax
  6367  // and semantics are as close as possible to those of the Perl 5 language.
  6368  //
  6369  //                        Written by Philip Hazel
  6370  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  6371  //           New API code Copyright (c) 2016-2018 University of Cambridge
  6372  //
  6373  // -----------------------------------------------------------------------------
  6374  // Redistribution and use in source and binary forms, with or without
  6375  // modification, are permitted provided that the following conditions are met:
  6376  //
  6377  //     * Redistributions of source code must retain the above copyright notice,
  6378  //       this list of conditions and the following disclaimer.
  6379  //
  6380  //     * Redistributions in binary form must reproduce the above copyright
  6381  //       notice, this list of conditions and the following disclaimer in the
  6382  //       documentation and/or other materials provided with the distribution.
  6383  //
  6384  //     * Neither the name of the University of Cambridge nor the names of its
  6385  //       contributors may be used to endorse or promote products derived from
  6386  //       this software without specific prior written permission.
  6387  //
  6388  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  6389  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6390  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6391  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  6392  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  6393  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  6394  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  6395  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  6396  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  6397  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  6398  // POSSIBILITY OF SUCH DAMAGE.
  6399  // -----------------------------------------------------------------------------
  6400  
  6401  // This module contains mode-dependent macro and structure definitions. The
  6402  // file is #included by pcre2_internal.h if PCRE2_CODE_UNIT_WIDTH is defined.
  6403  // These mode-dependent items are kept in a separate file so that they can also be
  6404  // #included multiple times for different code unit widths by pcre2test in order
  6405  // to have access to the hidden structures at all supported widths.
  6406  //
  6407  // Some of the mode-dependent macros are required at different widths for
  6408  // different parts of the pcre2test code (in particular, the included
  6409  // pcre_printint.c file). We undefine them here so that they can be re-defined for
  6410  // multiple inclusions. Not all of these are used in pcre2test, but it's easier
  6411  // just to undefine them all.
  6412  
  6413  // -------------------------- MACROS -----------------------------
  6414  
  6415  // PCRE keeps offsets in its compiled code as at least 16-bit quantities
  6416  // (always stored in big-endian order in 8-bit mode) by default. These are used,
  6417  // for example, to link from the start of a subpattern to its alternatives and its
  6418  // end. The use of 16 bits per offset limits the size of an 8-bit compiled regex
  6419  // to around 64K, which is big enough for almost everybody. However, I received a
  6420  // request for an even bigger limit. For this reason, and also to make the code
  6421  // easier to maintain, the storing and loading of offsets from the compiled code
  6422  // unit string is now handled by the macros that are defined here.
  6423  //
  6424  // The macros are controlled by the value of LINK_SIZE. This defaults to 2, but
  6425  // values of 3 or 4 are also supported.
  6426  
  6427  // ------------------- 8-bit support  ------------------
  6428  
  6429  // ------------------- 16-bit support  ------------------
  6430  
  6431  // --------------- Other mode-specific macros -----------------
  6432  
  6433  // PCRE uses some other (at least) 16-bit quantities that do not change when
  6434  // the size of offsets changes. There are used for repeat counts and for other
  6435  // things such as capturing parenthesis numbers in back references.
  6436  //
  6437  // Define the number of code units required to hold a 16-bit count/offset, and
  6438  // macros to load and store such a value. For reasons that I do not understand,
  6439  // the expression in the 8-bit GET2 macro is treated by gcc as a signed
  6440  // expression, even when a is declared as unsigned. It seems that any kind of
  6441  // arithmetic results in a signed value. Hence the cast.
  6442  
  6443  // Other macros that are different for 8-bit mode. The MAX_255 macro checks
  6444  // whether its argument, which is assumed to be one code unit, is less than 256.
  6445  // The CHMAX_255 macro does not assume one code unit. The maximum length of a MARK
  6446  // name must fit in one code unit; currently it is set to 255 or 65535. The
  6447  // TABLE_GET macro is used to access elements of tables containing exactly 256
  6448  // items. Its argument is a code unit. When code points can be greater than 255, a
  6449  // check is needed before accessing these tables.
  6450  
  6451  // ----------------- Character-handling macros -----------------
  6452  
  6453  // There is a proposed future special "UTF-21" mode, in which only the lowest
  6454  // 21 bits of a 32-bit character are interpreted as UTF, with the remaining 11
  6455  // high-order bits available to the application for other uses. In preparation for
  6456  // the future implementation of this mode, there are macros that load a data item
  6457  // and, if in this special mode, mask it to 21 bits. These macros all have names
  6458  // starting with UCHAR21. In all other modes, including the normal 32-bit
  6459  // library, the macros all have the same simple definitions. When the new mode is
  6460  // implemented, it is expected that these definitions will be varied appropriately
  6461  // using #ifdef when compiling the library that supports the special mode.
  6462  
  6463  // When UTF encoding is being used, a character is no longer just a single
  6464  // byte in 8-bit mode or a single short in 16-bit mode. The macros for character
  6465  // handling generate simple sequences when used in the basic mode, and more
  6466  // complicated ones for UTF characters. GETCHARLENTEST and other macros are not
  6467  // used when UTF is not supported. To make sure they can never even appear when
  6468  // UTF support is omitted, we don't even define them.
  6469  
  6470  // ------------------- 8-bit support  ------------------
  6471  
  6472  // The largest UTF code point that can be encoded as a single code unit.
  6473  
  6474  // Tests whether the code point needs extra characters to decode.
  6475  
  6476  // Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE.
  6477  // Otherwise it has an undefined behaviour.
  6478  
  6479  // Returns TRUE, if the given value is not the first code unit of a UTF
  6480  // sequence.
  6481  
  6482  // Get the next UTF-8 character, not advancing the pointer. This is called when
  6483  // we know we are in UTF-8 mode.
  6484  
  6485  // Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the
  6486  // pointer.
  6487  
  6488  // Get the next UTF-8 character, advancing the pointer. This is called when we
  6489  // know we are in UTF-8 mode.
  6490  
  6491  // Get the next character, testing for UTF-8 mode, and advancing the pointer.
  6492  // This is called when we don't know if we are in UTF-8 mode.
  6493  
  6494  // Get the next UTF-8 character, not advancing the pointer, incrementing length
  6495  // if there are extra bytes. This is called when we know we are in UTF-8 mode.
  6496  
  6497  // Get the next UTF-8 character, testing for UTF-8 mode, not advancing the
  6498  // pointer, incrementing length if there are extra bytes. This is called when we
  6499  // do not know if we are in UTF-8 mode.
  6500  
  6501  // If the pointer is not at the start of a character, move it back until
  6502  // it is. This is called only in UTF-8 mode - we don't put a test within the macro
  6503  // because almost all calls are already within a block of UTF-8 only code.
  6504  
  6505  // Same as above, just in the other direction.
  6506  
  6507  // Same as above, but it allows a fully customizable form.
  6508  
  6509  // Deposit a character into memory, returning the number of code units.
  6510  
  6511  // ------------------- 16-bit support  ------------------
  6512  
  6513  // Mode-dependent macros that have the same definition in all modes.
  6514  
  6515  // ----------------------- HIDDEN STRUCTURES -----------------------------
  6516  
  6517  // NOTE: All these structures *must* start with a pcre2_memctl structure. The
  6518  // code that uses them is simpler because it assumes this.
  6519  
  6520  // The real general context structure. At present it holds only data for custom
  6521  // memory control.
  6522  
  6523  type Tpcre2_real_general_context_8 = Spcre2_real_general_context_8 /* pcre2_intmodedep.h:561:3 */
  6524  
  6525  // The real compile context structure
  6526  
  6527  type Tpcre2_real_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2_intmodedep.h:575:3 */
  6528  
  6529  // The real match context structure.
  6530  
  6531  type Tpcre2_real_match_context_8 = Spcre2_real_match_context_8 /* pcre2_intmodedep.h:593:3 */
  6532  
  6533  // The real convert context structure.
  6534  
  6535  type Tpcre2_real_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2_intmodedep.h:601:3 */
  6536  
  6537  // The real compiled code structure. The type for the blocksize field is
  6538  // defined specially because it is required in pcre2_serialize_decode() when
  6539  // copying the size from possibly unaligned memory into a variable of the same
  6540  // type. Use a macro rather than a typedef to avoid compiler warnings when this
  6541  // file is included multiple times by pcre2test. LOOKBEHIND_MAX specifies the
  6542  // largest lookbehind that is supported. (OP_REVERSE in a pattern has a 16-bit
  6543  // argument in 8-bit and 16-bit modes, so we need no more than a 16-bit field
  6544  // here.)
  6545  
  6546  type Tpcre2_real_code_8 = Spcre2_real_code_8 /* pcre2_intmodedep.h:642:3 */
  6547  
  6548  // The real match data structure. Define ovector as large as it can ever
  6549  // actually be so that array bound checkers don't grumble. Memory for this
  6550  // structure is obtained by calling pcre2_match_data_create(), which sets the size
  6551  // as the offset of ovector plus a pair of elements for each capturable string, so
  6552  // the size varies from call to call. As the maximum number of capturing
  6553  // subpatterns is 65535 we must allow for 65536 strings to include the overall
  6554  // match. (See also the heapframe structure below.)
  6555  
  6556  type Tpcre2_real_match_data_8 = Spcre2_real_match_data_8 /* pcre2_intmodedep.h:665:3 */
  6557  
  6558  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6559  
  6560  // These structures are not needed for pcre2test.
  6561  
  6562  // Structures for checking for mutual recursion when scanning compiled or
  6563  // parsed code.
  6564  
  6565  type Srecurse_check = struct {
  6566  	Fprev  uintptr
  6567  	Fgroup TPCRE2_SPTR8
  6568  } /* pcre2_intmodedep.h:677:9 */
  6569  
  6570  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6571  
  6572  // These structures are not needed for pcre2test.
  6573  
  6574  // Structures for checking for mutual recursion when scanning compiled or
  6575  // parsed code.
  6576  
  6577  type Trecurse_check = Srecurse_check /* pcre2_intmodedep.h:680:3 */
  6578  
  6579  type Sparsed_recurse_check = struct {
  6580  	Fprev     uintptr
  6581  	Fgroupptr uintptr
  6582  } /* pcre2_intmodedep.h:682:9 */
  6583  
  6584  type Tparsed_recurse_check = Sparsed_recurse_check /* pcre2_intmodedep.h:685:3 */
  6585  
  6586  // Structure for building a cache when filling in recursion offsets.
  6587  
  6588  type Srecurse_cache = struct {
  6589  	Fgroup       TPCRE2_SPTR8
  6590  	Fgroupnumber int32
  6591  	F__ccgo_pad1 [4]byte
  6592  } /* pcre2_intmodedep.h:689:9 */
  6593  
  6594  // Structure for building a cache when filling in recursion offsets.
  6595  
  6596  type Trecurse_cache = Srecurse_cache /* pcre2_intmodedep.h:692:3 */
  6597  
  6598  // Structure for maintaining a chain of pointers to the currently incomplete
  6599  // branches, for testing for left recursion while compiling.
  6600  
  6601  type Sbranch_chain_8 = struct {
  6602  	Fouter          uintptr
  6603  	Fcurrent_branch uintptr
  6604  } /* pcre2_intmodedep.h:697:9 */
  6605  
  6606  // Structure for maintaining a chain of pointers to the currently incomplete
  6607  // branches, for testing for left recursion while compiling.
  6608  
  6609  type Tbranch_chain_8 = Sbranch_chain_8 /* pcre2_intmodedep.h:700:3 */
  6610  
  6611  // Structure for building a list of named groups during the first pass of
  6612  // compiling.
  6613  
  6614  type Snamed_group_8 = struct {
  6615  	Fname   TPCRE2_SPTR8
  6616  	Fnumber Tuint32_t
  6617  	Flength Tuint16_t
  6618  	Fisdup  Tuint16_t
  6619  } /* pcre2_intmodedep.h:705:9 */
  6620  
  6621  // Structure for building a list of named groups during the first pass of
  6622  // compiling.
  6623  
  6624  type Tnamed_group_8 = Snamed_group_8 /* pcre2_intmodedep.h:710:3 */
  6625  
  6626  // Structure for passing "static" information around between the functions
  6627  // doing the compiling, so that they are thread-safe.
  6628  
  6629  type Scompile_block_8 = struct {
  6630  	Fcx                    uintptr
  6631  	Flcc                   uintptr
  6632  	Ffcc                   uintptr
  6633  	Fcbits                 uintptr
  6634  	Fctypes                uintptr
  6635  	Fstart_workspace       TPCRE2_SPTR8
  6636  	Fstart_code            TPCRE2_SPTR8
  6637  	Fstart_pattern         TPCRE2_SPTR8
  6638  	Fend_pattern           TPCRE2_SPTR8
  6639  	Fname_table            uintptr
  6640  	Fworkspace_size        Tsize_t
  6641  	Fsmall_ref_offset      [10]Tsize_t
  6642  	Ferroroffset           Tsize_t
  6643  	Fnames_found           Tuint16_t
  6644  	Fname_entry_size       Tuint16_t
  6645  	Fparens_depth          Tuint16_t
  6646  	Fassert_depth          Tuint16_t
  6647  	Fopen_caps             uintptr
  6648  	Fnamed_groups          uintptr
  6649  	Fnamed_group_list_size Tuint32_t
  6650  	Fexternal_options      Tuint32_t
  6651  	Fexternal_flags        Tuint32_t
  6652  	Fbracount              Tuint32_t
  6653  	Flastcapture           Tuint32_t
  6654  	F__ccgo_pad1           [4]byte
  6655  	Fparsed_pattern        uintptr
  6656  	Fparsed_pattern_end    uintptr
  6657  	Fgroupinfo             uintptr
  6658  	Ftop_backref           Tuint32_t
  6659  	Fbackref_map           Tuint32_t
  6660  	Fnltype                Tuint32_t
  6661  	Fnllen                 Tuint32_t
  6662  	Fclass_range_start     Tuint32_t
  6663  	Fclass_range_end       Tuint32_t
  6664  	Fnl                    [4]TPCRE2_UCHAR8
  6665  	Freq_varyopt           Tuint32_t
  6666  	Fmax_lookbehind        int32
  6667  	Fhad_accept            TBOOL
  6668  	Fhad_pruneorskip       TBOOL
  6669  	Fhad_recurse           TBOOL
  6670  	Fdupnames              TBOOL
  6671  	F__ccgo_pad2           [4]byte
  6672  } /* pcre2_intmodedep.h:715:9 */
  6673  
  6674  // Structure for passing "static" information around between the functions
  6675  // doing the compiling, so that they are thread-safe.
  6676  
  6677  type Tcompile_block_8 = Scompile_block_8 /* pcre2_intmodedep.h:756:3 */
  6678  
  6679  // Structure for keeping the properties of the in-memory stack used
  6680  // by the JIT matcher.
  6681  
  6682  type Tpcre2_real_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2_intmodedep.h:764:3 */
  6683  
  6684  // Structure for items in a linked list that represents an explicit recursive
  6685  // call within the pattern when running pcre2_dfa_match().
  6686  
  6687  type Sdfa_recursion_info = struct {
  6688  	Fprevrec          uintptr
  6689  	Fsubject_position TPCRE2_SPTR8
  6690  	Fgroup_num        Tuint32_t
  6691  	F__ccgo_pad1      [4]byte
  6692  } /* pcre2_intmodedep.h:769:9 */
  6693  
  6694  // Structure for items in a linked list that represents an explicit recursive
  6695  // call within the pattern when running pcre2_dfa_match().
  6696  
  6697  type Tdfa_recursion_info = Sdfa_recursion_info /* pcre2_intmodedep.h:773:3 */
  6698  
  6699  // Structure for "stack" frames that are used for remembering backtracking
  6700  // positions during matching. As these are used in a vector, with the ovector item
  6701  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6702  // only way to check this at compile time is to force an error by generating an
  6703  // array with a negative size. By putting this in a typedef (which is never used),
  6704  // we don't generate any code when all is well.
  6705  
  6706  type Sheapframe = struct {
  6707  	Fecode             TPCRE2_SPTR8
  6708  	Ftemp_sptr         [2]TPCRE2_SPTR8
  6709  	Flength            Tsize_t
  6710  	Fback_frame        Tsize_t
  6711  	Ftemp_size         Tsize_t
  6712  	Frdepth            Tuint32_t
  6713  	Fgroup_frame_type  Tuint32_t
  6714  	Ftemp_32           [4]Tuint32_t
  6715  	Freturn_id         Tuint8_t
  6716  	Fop                Tuint8_t
  6717  	Foccu              [6]TPCRE2_UCHAR8
  6718  	Feptr              TPCRE2_SPTR8
  6719  	Fstart_match       TPCRE2_SPTR8
  6720  	Fmark              TPCRE2_SPTR8
  6721  	Fcurrent_recurse   Tuint32_t
  6722  	Fcapture_last      Tuint32_t
  6723  	Flast_group_offset Tsize_t
  6724  	Foffset_top        Tsize_t
  6725  	Fovector           [131072]Tsize_t
  6726  } /* pcre2_intmodedep.h:782:9 */
  6727  
  6728  // Structure for "stack" frames that are used for remembering backtracking
  6729  // positions during matching. As these are used in a vector, with the ovector item
  6730  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6731  // only way to check this at compile time is to force an error by generating an
  6732  // array with a negative size. By putting this in a typedef (which is never used),
  6733  // we don't generate any code when all is well.
  6734  
  6735  type Theapframe = Sheapframe /* pcre2_intmodedep.h:833:3 */
  6736  
  6737  // This typedef is a check that the size of the heapframe structure is a
  6738  // multiple of PCRE2_SIZE. See various comments above.
  6739  
  6740  type Tcheck_heapframe_size = [1]int8 /* pcre2_intmodedep.h:838:14 */
  6741  
  6742  // Structure for computing the alignment of heapframe.
  6743  
  6744  type Sheapframe_align = struct {
  6745  	Funalign     int8
  6746  	F__ccgo_pad1 [7]byte
  6747  	Fframe       Theapframe
  6748  } /* pcre2_intmodedep.h:843:9 */
  6749  
  6750  // Structure for computing the alignment of heapframe.
  6751  
  6752  type Theapframe_align = Sheapframe_align /* pcre2_intmodedep.h:846:3 */
  6753  
  6754  // This define is the minimum alignment required for a heapframe, in bytes.
  6755  
  6756  // Structure for passing "static" information around between the functions
  6757  // doing traditional NFA matching (pcre2_match() and friends).
  6758  
  6759  type Smatch_block_8 = struct {
  6760  	Fmemctl               Tpcre2_memctl
  6761  	Fframe_vector_size    Tsize_t
  6762  	Fmatch_frames         uintptr
  6763  	Fmatch_frames_top     uintptr
  6764  	Fstack_frames         uintptr
  6765  	Fheap_limit           Tsize_t
  6766  	Fmatch_limit          Tuint32_t
  6767  	Fmatch_limit_depth    Tuint32_t
  6768  	Fmatch_call_count     Tuint32_t
  6769  	Fhitend               TBOOL
  6770  	Fhasthen              TBOOL
  6771  	Fallowemptypartial    TBOOL
  6772  	Flcc                  uintptr
  6773  	Ffcc                  uintptr
  6774  	Fctypes               uintptr
  6775  	Fstart_offset         Tsize_t
  6776  	Fend_offset_top       Tsize_t
  6777  	Fpartial              Tuint16_t
  6778  	Fbsr_convention       Tuint16_t
  6779  	Fname_count           Tuint16_t
  6780  	Fname_entry_size      Tuint16_t
  6781  	Fname_table           TPCRE2_SPTR8
  6782  	Fstart_code           TPCRE2_SPTR8
  6783  	Fstart_subject        TPCRE2_SPTR8
  6784  	Fcheck_subject        TPCRE2_SPTR8
  6785  	Fend_subject          TPCRE2_SPTR8
  6786  	Fend_match_ptr        TPCRE2_SPTR8
  6787  	Fstart_used_ptr       TPCRE2_SPTR8
  6788  	Flast_used_ptr        TPCRE2_SPTR8
  6789  	Fmark                 TPCRE2_SPTR8
  6790  	Fnomatch_mark         TPCRE2_SPTR8
  6791  	Fverb_ecode_ptr       TPCRE2_SPTR8
  6792  	Fverb_skip_ptr        TPCRE2_SPTR8
  6793  	Fverb_current_recurse Tuint32_t
  6794  	Fmoptions             Tuint32_t
  6795  	Fpoptions             Tuint32_t
  6796  	Fskip_arg_count       Tuint32_t
  6797  	Fignore_skip_arg      Tuint32_t
  6798  	Fnltype               Tuint32_t
  6799  	Fnllen                Tuint32_t
  6800  	Fnl                   [4]TPCRE2_UCHAR8
  6801  	Fcb                   uintptr
  6802  	Fcallout_data         uintptr
  6803  	Fcallout              uintptr
  6804  } /* pcre2_intmodedep.h:855:9 */
  6805  
  6806  // This define is the minimum alignment required for a heapframe, in bytes.
  6807  
  6808  // Structure for passing "static" information around between the functions
  6809  // doing traditional NFA matching (pcre2_match() and friends).
  6810  
  6811  type Tmatch_block_8 = Smatch_block_8 /* pcre2_intmodedep.h:900:3 */
  6812  
  6813  // A similar structure is used for the same purpose by the DFA matching
  6814  // functions.
  6815  
  6816  type Sdfa_match_block_8 = struct {
  6817  	Fmemctl            Tpcre2_memctl
  6818  	Fstart_code        TPCRE2_SPTR8
  6819  	Fstart_subject     TPCRE2_SPTR8
  6820  	Fend_subject       TPCRE2_SPTR8
  6821  	Fstart_used_ptr    TPCRE2_SPTR8
  6822  	Flast_used_ptr     TPCRE2_SPTR8
  6823  	Ftables            uintptr
  6824  	Fstart_offset      Tsize_t
  6825  	Fheap_limit        Tsize_t
  6826  	Fheap_used         Tsize_t
  6827  	Fmatch_limit       Tuint32_t
  6828  	Fmatch_limit_depth Tuint32_t
  6829  	Fmatch_call_count  Tuint32_t
  6830  	Fmoptions          Tuint32_t
  6831  	Fpoptions          Tuint32_t
  6832  	Fnltype            Tuint32_t
  6833  	Fnllen             Tuint32_t
  6834  	Fallowemptypartial TBOOL
  6835  	Fnl                [4]TPCRE2_UCHAR8
  6836  	Fbsr_convention    Tuint16_t
  6837  	F__ccgo_pad1       [2]byte
  6838  	Fcb                uintptr
  6839  	Fcallout_data      uintptr
  6840  	Fcallout           uintptr
  6841  	Frecursive         uintptr
  6842  } /* pcre2_intmodedep.h:905:9 */
  6843  
  6844  // A similar structure is used for the same purpose by the DFA matching
  6845  // functions.
  6846  
  6847  type Tdfa_match_block_8 = Sdfa_match_block_8 /* pcre2_intmodedep.h:930:3 */
  6848  
  6849  // This function is needed only when memmove() is not available.
  6850  
  6851  // End of pcre2_internal.h
  6852  
  6853  // ************************************************
  6854  //
  6855  //        Tables for auto-possessification        *
  6856  //
  6857  
  6858  // This table is used to check whether auto-possessification is possible
  6859  // between adjacent character-type opcodes. The left-hand (repeated) opcode is
  6860  // used to select the row, and the right-hand opcode is use to select the column.
  6861  // A value of 1 means that auto-possessification is OK. For example, the second
  6862  // value in the first row means that \D+\d can be turned into \D++\d.
  6863  //
  6864  // The Unicode property types (\P and \p) have to be present to fill out the table
  6865  // because of what their opcode values are, but the table values should always be
  6866  // zero because property types are handled separately in the code. The last four
  6867  // columns apply to items that cannot be repeated, so there is no need to have
  6868  // rows for them. Note that OP_DIGIT etc. are generated only when PCRE_UCP is
  6869  // *not* set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  6870  
  6871  var autoposstab = [17][21]Tuint8_t{
  6872  	// \D \d \S \s \W \w  . .+ \C \P \p \R \H \h \V \v \X \Z \z  $ $M
  6873  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \D
  6874  	{Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \d
  6875  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \S
  6876  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \s
  6877  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \W
  6878  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \w
  6879  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // .
  6880  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // .+
  6881  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \C
  6882  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \P
  6883  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \p
  6884  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \R
  6885  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \H
  6886  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \h
  6887  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \V
  6888  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \v
  6889  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \X
  6890  } /* pcre2_auto_possess.c:73:22 */
  6891  
  6892  // This table is used to check whether auto-possessification is possible
  6893  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP). The
  6894  // left-hand (repeated) opcode is used to select the row, and the right-hand
  6895  // opcode is used to select the column. The values are as follows:
  6896  //
  6897  //   0   Always return FALSE (never auto-possessify)
  6898  //   1   Character groups are distinct (possessify if both are OP_PROP)
  6899  //   2   Check character categories in the same group (general or particular)
  6900  //   3   TRUE if the two opcodes are not the same (PROP vs NOTPROP)
  6901  //
  6902  //   4   Check left general category vs right particular category
  6903  //   5   Check right general category vs left particular category
  6904  //
  6905  //   6   Left alphanum vs right general category
  6906  //   7   Left space vs right general category
  6907  //   8   Left word vs right general category
  6908  //
  6909  //   9   Right alphanum vs left general category
  6910  //  10   Right space vs left general category
  6911  //  11   Right word vs left general category
  6912  //
  6913  //  12   Left alphanum vs right particular category
  6914  //  13   Left space vs right particular category
  6915  //  14   Left word vs right particular category
  6916  //
  6917  //  15   Right alphanum vs left particular category
  6918  //  16   Right space vs left particular category
  6919  //  17   Right word vs left particular category
  6920  
  6921  var propposstab = [14][14]Tuint8_t{
  6922  	// ANY LAMP GC  PC  SC  SCX ALNUM SPACE PXSPACE WORD CLIST UCNC BIDICL BOOL
  6923  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_ANY
  6924  	{Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_LAMP
  6925  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(4), Tuint8_t(0), Tuint8_t(0), Tuint8_t(9), Tuint8_t(10), Tuint8_t(10), Tuint8_t(11), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},  // PT_GC
  6926  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(5), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(15), Tuint8_t(16), Tuint8_t(16), Tuint8_t(17), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_PC
  6927  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_SC
  6928  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_SCX
  6929  	{Tuint8_t(0), Tuint8_t(3), Tuint8_t(6), Tuint8_t(12), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_ALNUM
  6930  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_SPACE
  6931  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_PXSPACE
  6932  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(8), Tuint8_t(14), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_WORD
  6933  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_CLIST
  6934  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0)},     // PT_UCNC
  6935  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_BIDICL
  6936  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_BOOL
  6937  } /* pcre2_auto_possess.c:125:22 */
  6938  
  6939  // This table is used to check whether auto-possessification is possible
  6940  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP) when one
  6941  // specifies a general category and the other specifies a particular category. The
  6942  // row is selected by the general category and the column by the particular
  6943  // category. The value is 1 if the particular category is not part of the general
  6944  // category.
  6945  
  6946  var catposstab = [7][30]Tuint8_t{
  6947  	// Cc Cf Cn Co Cs Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pc Pd Pe Pf Pi Po Ps Sc Sk Sm So Zl Zp Zs
  6948  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // C
  6949  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // L
  6950  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // M
  6951  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // N
  6952  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // P
  6953  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // S
  6954  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // Z
  6955  } /* pcre2_auto_possess.c:150:22 */
  6956  
  6957  // This table is used when checking ALNUM, (PX)SPACE, SPACE, and WORD against
  6958  // a general or particular category. The properties in each row are those
  6959  // that apply to the character set in question. Duplication means that a little
  6960  // unnecessary work is done when checking, but this keeps things much simpler
  6961  // because they can all use the same code. For more details see the comment where
  6962  // this table is used.
  6963  //
  6964  // Note: SPACE and PXSPACE used to be different because Perl excluded VT from
  6965  // "space", but from Perl 5.18 it's included, so both categories are treated the
  6966  // same here.
  6967  
  6968  var posspropstab = [3][4]Tuint8_t{
  6969  	{ucp_L, ucp_N, ucp_N, ucp_Nl}, // ALNUM, 3rd and 4th values redundant
  6970  	{ucp_Z, ucp_Z, ucp_C, ucp_Cc}, // SPACE and PXSPACE, 2nd value redundant
  6971  	{ucp_L, ucp_N, ucp_P, ucp_Po}, // WORD
  6972  } /* pcre2_auto_possess.c:172:22 */
  6973  
  6974  // ************************************************
  6975  //
  6976  //        Check a character and a property        *
  6977  //
  6978  
  6979  // This function is called by compare_opcodes() when a property item is
  6980  // adjacent to a fixed character.
  6981  //
  6982  // Arguments:
  6983  //   c            the character
  6984  //   ptype        the property type
  6985  //   pdata        the data for the type
  6986  //   negated      TRUE if it's a negated property (\P or \p{^)
  6987  //
  6988  // Returns:       TRUE if auto-possessifying is OK
  6989  
  6990  func check_char_prop(tls *libc.TLS, c Tuint32_t, ptype uint32, pdata uint32, negated TBOOL) TBOOL { /* pcre2_auto_possess.c:199:1: */
  6991  	var ok TBOOL
  6992  	var p uintptr
  6993  	var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
  6994  
  6995  	switch ptype {
  6996  	case uint32(DPT_LAMP):
  6997  		return libc.Bool32(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == negated)
  6998  
  6999  	case uint32(DPT_GC):
  7000  		return libc.Bool32(libc.Bool32(pdata == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == negated)
  7001  
  7002  	case uint32(DPT_PC):
  7003  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == negated)
  7004  
  7005  	case uint32(DPT_SC):
  7006  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == negated)
  7007  
  7008  	case uint32(DPT_SCX):
  7009  		ok = libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) ||
  7010  			*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(pdata/uint32(32))*4))&(uint32(1)<<(pdata%uint32(32))) != Tuint32_t(0))
  7011  		return libc.Bool32(ok == negated)
  7012  
  7013  	// These are specials
  7014  
  7015  	case uint32(DPT_ALNUM):
  7016  		return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == negated)
  7017  
  7018  	// Perl space used to exclude VT, but from Perl 5.18 it is included, which
  7019  	//   means that Perl space and POSIX space are now identical. PCRE was changed
  7020  	//   at release 8.34.
  7021  
  7022  	case uint32(DPT_SPACE):
  7023  		fallthrough // Perl space
  7024  	case uint32(DPT_PXSPACE): // POSIX space
  7025  		switch c {
  7026  		case Tuint32_t('\011'):
  7027  			fallthrough
  7028  		case Tuint32_t('\040'):
  7029  			fallthrough
  7030  		case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7031  			fallthrough
  7032  		case Tuint32_t(0x1680):
  7033  			fallthrough /* OGHAM SPACE MARK */
  7034  		case Tuint32_t(0x180e):
  7035  			fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7036  		case Tuint32_t(0x2000):
  7037  			fallthrough /* EN QUAD */
  7038  		case Tuint32_t(0x2001):
  7039  			fallthrough /* EM QUAD */
  7040  		case Tuint32_t(0x2002):
  7041  			fallthrough /* EN SPACE */
  7042  		case Tuint32_t(0x2003):
  7043  			fallthrough /* EM SPACE */
  7044  		case Tuint32_t(0x2004):
  7045  			fallthrough /* THREE-PER-EM SPACE */
  7046  		case Tuint32_t(0x2005):
  7047  			fallthrough /* FOUR-PER-EM SPACE */
  7048  		case Tuint32_t(0x2006):
  7049  			fallthrough /* SIX-PER-EM SPACE */
  7050  		case Tuint32_t(0x2007):
  7051  			fallthrough /* FIGURE SPACE */
  7052  		case Tuint32_t(0x2008):
  7053  			fallthrough /* PUNCTUATION SPACE */
  7054  		case Tuint32_t(0x2009):
  7055  			fallthrough /* THIN SPACE */
  7056  		case Tuint32_t(0x200A):
  7057  			fallthrough /* HAIR SPACE */
  7058  		case Tuint32_t(0x202f):
  7059  			fallthrough /* NARROW NO-BREAK SPACE */
  7060  		case Tuint32_t(0x205f):
  7061  			fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7062  		case Tuint32_t(0x3000):
  7063  			fallthrough
  7064  		case Tuint32_t('\012'):
  7065  			fallthrough
  7066  		case Tuint32_t('\013'):
  7067  			fallthrough
  7068  		case Tuint32_t('\014'):
  7069  			fallthrough
  7070  		case Tuint32_t('\015'):
  7071  			fallthrough
  7072  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  7073  			fallthrough
  7074  		case Tuint32_t(0x2028):
  7075  			fallthrough /* LINE SEPARATOR */
  7076  		case Tuint32_t(0x2029):
  7077  			return negated
  7078  
  7079  		default:
  7080  			return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == negated)
  7081  		}
  7082  		break // Control never reaches here
  7083  
  7084  	case uint32(DPT_WORD):
  7085  		return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) == negated)
  7086  
  7087  	case uint32(DPT_CLIST):
  7088  		p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(prop)).Fcaseset)*4
  7089  		for {
  7090  			if c < *(*Tuint32_t)(unsafe.Pointer(p)) {
  7091  				return libc.BoolInt32(!(negated != 0))
  7092  			}
  7093  			if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4))) {
  7094  				return negated
  7095  			}
  7096  		}
  7097  		break // Control never reaches here
  7098  
  7099  	// Haven't yet thought these through.
  7100  
  7101  	case uint32(DPT_BIDICL):
  7102  		return DFALSE
  7103  
  7104  	case uint32(DPT_BOOL):
  7105  		return DFALSE
  7106  	}
  7107  
  7108  	return DFALSE
  7109  }
  7110  
  7111  // ************************************************
  7112  //
  7113  //        Base opcode of repeated opcodes         *
  7114  //
  7115  
  7116  // Returns the base opcode for repeated single character type opcodes. If the
  7117  // opcode is not a repeated character type, it returns with the original value.
  7118  //
  7119  // Arguments:  c opcode
  7120  // Returns:    base opcode for the type
  7121  
  7122  func get_repeat_base(tls *libc.TLS, c TPCRE2_UCHAR8) TPCRE2_UCHAR8 { /* pcre2_auto_possess.c:291:1: */
  7123  	if int32(c) > OP_TYPEPOSUPTO {
  7124  		return c
  7125  	}
  7126  	if int32(c) >= OP_TYPESTAR {
  7127  		return OP_TYPESTAR
  7128  	}
  7129  	if int32(c) >= OP_NOTSTARI {
  7130  		return OP_NOTSTARI
  7131  	}
  7132  	if int32(c) >= OP_NOTSTAR {
  7133  		return OP_NOTSTAR
  7134  	}
  7135  	if int32(c) >= OP_STARI {
  7136  		return OP_STARI
  7137  	}
  7138  	return OP_STAR
  7139  }
  7140  
  7141  // ************************************************
  7142  //
  7143  //        Fill the character property list        *
  7144  //
  7145  
  7146  // Checks whether the code points to an opcode that can take part in auto-
  7147  // possessification, and if so, fills a list with its properties.
  7148  //
  7149  // Arguments:
  7150  //   code        points to start of expression
  7151  //   utf         TRUE if in UTF mode
  7152  //   ucp         TRUE if in UCP mode
  7153  //   fcc         points to the case-flipping table
  7154  //   list        points to output list
  7155  //               list[0] will be filled with the opcode
  7156  //               list[1] will be non-zero if this opcode
  7157  //                 can match an empty character string
  7158  //               list[2..7] depends on the opcode
  7159  //
  7160  // Returns:      points to the start of the next opcode if *code is accepted
  7161  //               NULL if *code is not accepted
  7162  
  7163  func get_chr_property_list(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, fcc uintptr, list uintptr) TPCRE2_SPTR8 { /* pcre2_auto_possess.c:325:1: */
  7164  	var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7165  	var base TPCRE2_UCHAR8
  7166  	var end TPCRE2_SPTR8
  7167  	var chr Tuint32_t
  7168  	var clist_dest uintptr
  7169  	var clist_src uintptr
  7170  
  7171  	*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(c)
  7172  	*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DFALSE)
  7173  	code++
  7174  
  7175  	if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  7176  		base = get_repeat_base(tls, c)
  7177  		c = TPCRE2_UCHAR8(int32(c) - (int32(base) - OP_STAR))
  7178  
  7179  		if int32(c) == OP_UPTO || int32(c) == OP_MINUPTO || int32(c) == OP_EXACT || int32(c) == OP_POSUPTO {
  7180  			code += TPCRE2_SPTR8(DIMM2_SIZE)
  7181  		}
  7182  
  7183  		*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(int32(c) != OP_PLUS && int32(c) != OP_MINPLUS && int32(c) != OP_EXACT && int32(c) != OP_POSPLUS))
  7184  
  7185  		switch int32(base) {
  7186  		case OP_STAR:
  7187  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHAR
  7188  			break
  7189  			fallthrough
  7190  
  7191  		case OP_STARI:
  7192  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHARI
  7193  			break
  7194  			fallthrough
  7195  
  7196  		case OP_NOTSTAR:
  7197  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOT
  7198  			break
  7199  			fallthrough
  7200  
  7201  		case OP_NOTSTARI:
  7202  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOTI
  7203  			break
  7204  			fallthrough
  7205  
  7206  		case OP_TYPESTAR:
  7207  			*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7208  			code++
  7209  			break
  7210  		}
  7211  		c = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(list)))
  7212  	}
  7213  
  7214  	switch int32(c) {
  7215  	case OP_NOT_DIGIT:
  7216  		fallthrough
  7217  	case OP_DIGIT:
  7218  		fallthrough
  7219  	case OP_NOT_WHITESPACE:
  7220  		fallthrough
  7221  	case OP_WHITESPACE:
  7222  		fallthrough
  7223  	case OP_NOT_WORDCHAR:
  7224  		fallthrough
  7225  	case OP_WORDCHAR:
  7226  		fallthrough
  7227  	case OP_ANY:
  7228  		fallthrough
  7229  	case OP_ALLANY:
  7230  		fallthrough
  7231  	case OP_ANYNL:
  7232  		fallthrough
  7233  	case OP_NOT_HSPACE:
  7234  		fallthrough
  7235  	case OP_HSPACE:
  7236  		fallthrough
  7237  	case OP_NOT_VSPACE:
  7238  		fallthrough
  7239  	case OP_VSPACE:
  7240  		fallthrough
  7241  	case OP_EXTUNI:
  7242  		fallthrough
  7243  	case OP_EODN:
  7244  		fallthrough
  7245  	case OP_EOD:
  7246  		fallthrough
  7247  	case OP_DOLL:
  7248  		fallthrough
  7249  	case OP_DOLLM:
  7250  		return code
  7251  
  7252  	case OP_CHAR:
  7253  		fallthrough
  7254  	case OP_NOT:
  7255  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7256  		if utf != 0 && chr >= 0xc0 {
  7257  			if chr&0x20 == Tuint32_t(0) {
  7258  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7259  			} else if chr&0x10 == Tuint32_t(0) {
  7260  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7261  				code += uintptr(2)
  7262  			} else if chr&0x08 == Tuint32_t(0) {
  7263  				chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f
  7264  				code += uintptr(3)
  7265  			} else if chr&0x04 == Tuint32_t(0) {
  7266  				chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f
  7267  				code += uintptr(4)
  7268  			} else {
  7269  				chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f
  7270  				code += uintptr(5)
  7271  			}
  7272  		}
  7273  
  7274  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7275  		*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7276  		return code
  7277  
  7278  	case OP_CHARI:
  7279  		fallthrough
  7280  	case OP_NOTI:
  7281  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7282  			if int32(c) == OP_CHARI {
  7283  				return OP_CHAR
  7284  			}
  7285  			return OP_NOT
  7286  		}()
  7287  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7288  		if utf != 0 && chr >= 0xc0 {
  7289  			if chr&0x20 == Tuint32_t(0) {
  7290  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7291  			} else if chr&0x10 == Tuint32_t(0) {
  7292  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7293  				code += uintptr(2)
  7294  			} else if chr&0x08 == Tuint32_t(0) {
  7295  				chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f
  7296  				code += uintptr(3)
  7297  			} else if chr&0x04 == Tuint32_t(0) {
  7298  				chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f
  7299  				code += uintptr(4)
  7300  			} else {
  7301  				chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f
  7302  				code += uintptr(5)
  7303  			}
  7304  		}
  7305  
  7306  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7307  
  7308  		if chr < Tuint32_t(128) || chr < Tuint32_t(256) && !(utf != 0) && !(ucp != 0) {
  7309  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(chr))))
  7310  		} else {
  7311  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(int32(chr) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(chr)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(chr)%DUCD_BLOCK_SIZE])*12)).Fother_case)
  7312  		}
  7313  
  7314  		// The othercase might be the same value.
  7315  
  7316  		if chr == *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) {
  7317  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7318  		} else {
  7319  			*(*Tuint32_t)(unsafe.Pointer(list + 4*4)) = DNOTACHAR
  7320  		}
  7321  		return code
  7322  
  7323  	case OP_PROP:
  7324  		fallthrough
  7325  	case OP_NOTPROP:
  7326  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) != DPT_CLIST {
  7327  			*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7328  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7329  			return code + uintptr(2)
  7330  		}
  7331  
  7332  		// Convert only if we have enough space.
  7333  
  7334  		clist_src = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))*4
  7335  		clist_dest = list + uintptr(2)*4
  7336  		code += uintptr(2)
  7337  
  7338  		for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_src, 4))) != DNOTACHAR {
  7339  			if clist_dest >= list+uintptr(8)*4 {
  7340  				// Early return if there is not enough space. This should never
  7341  				//        happen, since all clists are shorter than 5 character now.
  7342  				*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7343  				*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7344  				return code
  7345  			}
  7346  			*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_dest, 4))) = *(*Tuint32_t)(unsafe.Pointer(clist_src))
  7347  		}
  7348  
  7349  		// All characters are stored. The terminating NOTACHAR is copied from the
  7350  		//   clist itself.
  7351  
  7352  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7353  			if int32(c) == OP_PROP {
  7354  				return OP_CHAR
  7355  			}
  7356  			return OP_NOT
  7357  		}()
  7358  		return code
  7359  
  7360  	case OP_NCLASS:
  7361  		fallthrough
  7362  	case OP_CLASS:
  7363  		fallthrough
  7364  	case OP_XCLASS:
  7365  		if int32(c) == OP_XCLASS {
  7366  			end = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))))) - uintptr(1)
  7367  		} else {
  7368  			end = code + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  7369  		}
  7370  
  7371  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end))) {
  7372  		case OP_CRSTAR:
  7373  			fallthrough
  7374  		case OP_CRMINSTAR:
  7375  			fallthrough
  7376  		case OP_CRQUERY:
  7377  			fallthrough
  7378  		case OP_CRMINQUERY:
  7379  			fallthrough
  7380  		case OP_CRPOSSTAR:
  7381  			fallthrough
  7382  		case OP_CRPOSQUERY:
  7383  			*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DTRUE)
  7384  			end++
  7385  			break
  7386  
  7387  		case OP_CRPLUS:
  7388  			fallthrough
  7389  		case OP_CRMINPLUS:
  7390  			fallthrough
  7391  		case OP_CRPOSPLUS:
  7392  			end++
  7393  			break
  7394  
  7395  		case OP_CRRANGE:
  7396  			fallthrough
  7397  		case OP_CRMINRANGE:
  7398  			fallthrough
  7399  		case OP_CRPOSRANGE:
  7400  			*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 2)))) == uint32(0)))
  7401  			end += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
  7402  			break
  7403  		}
  7404  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t((int64(end) - int64(code)) / 1)
  7405  		return end
  7406  	}
  7407  
  7408  	return uintptr(0) // Opcode not accepted
  7409  }
  7410  
  7411  // ************************************************
  7412  //
  7413  //    Scan further character sets for match       *
  7414  //
  7415  
  7416  // Checks whether the base and the current opcode have a common character, in
  7417  // which case the base cannot be possessified.
  7418  //
  7419  // Arguments:
  7420  //   code        points to the byte code
  7421  //   utf         TRUE in UTF mode
  7422  //   ucp         TRUE in UCP mode
  7423  //   cb          compile data block
  7424  //   base_list   the data list of the base opcode
  7425  //   base_end    the end of the base opcode
  7426  //   rec_limit   points to recursion depth counter
  7427  //
  7428  // Returns:      TRUE if the auto-possessification is possible
  7429  
  7430  func compare_opcodes(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, cb uintptr, base_list uintptr, base_end TPCRE2_SPTR8, rec_limit uintptr) TBOOL { /* pcre2_auto_possess.c:536:1: */
  7431  	bp := tls.Alloc(32)
  7432  	defer tls.Free(32)
  7433  
  7434  	var c TPCRE2_UCHAR8
  7435  	// var list [8]Tuint32_t at bp, 32
  7436  
  7437  	var chr_ptr uintptr
  7438  	var ochr_ptr uintptr
  7439  	var list_ptr uintptr
  7440  	var next_code TPCRE2_SPTR8
  7441  	var xclass_flags TPCRE2_SPTR8
  7442  	var class_bitset uintptr
  7443  	var set1 uintptr
  7444  	var set2 uintptr
  7445  	var set_end uintptr
  7446  	var chr Tuint32_t
  7447  	var accepted TBOOL
  7448  	var invert_bits TBOOL
  7449  	var entered_a_group TBOOL = DFALSE
  7450  
  7451  	if libc.PreDecInt32(&*(*int32)(unsafe.Pointer(rec_limit)), 1) <= 0 {
  7452  		return DFALSE
  7453  	} // Recursion has gone too deep
  7454  
  7455  	// Note: the base_list[1] contains whether the current opcode has a greedy
  7456  	// (represented by a non-zero value) quantifier. This is a different from
  7457  	// other character type lists, which store here that the character iterator
  7458  	// matches to an empty string (also represented by a non-zero value).
  7459  
  7460  	for {
  7461  		// All operations move the code pointer forward.
  7462  		//   Therefore infinite recursions are not possible.
  7463  
  7464  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7465  
  7466  		// Skip over callouts
  7467  
  7468  		if int32(c) == OP_CALLOUT {
  7469  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7470  			continue
  7471  		}
  7472  
  7473  		if int32(c) == OP_CALLOUT_STR {
  7474  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  7475  			continue
  7476  		}
  7477  
  7478  		// At the end of a branch, skip to the end of the group.
  7479  
  7480  		if int32(c) == OP_ALT {
  7481  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
  7482  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7483  			}
  7484  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7485  		}
  7486  
  7487  		// Inspect the next opcode.
  7488  
  7489  		switch int32(c) {
  7490  		// We can always possessify a greedy iterator at the end of the pattern,
  7491  		//     which is reached after skipping over the final OP_KET. A non-greedy
  7492  		//     iterator must never be possessified.
  7493  
  7494  		case OP_END:
  7495  			return libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) != Tuint32_t(0))
  7496  
  7497  		// When an iterator is at the end of certain kinds of group we can inspect
  7498  		//     what follows the group by skipping over the closing ket. Note that this
  7499  		//     does not apply to OP_KETRMAX or OP_KETRMIN because what follows any given
  7500  		//     iteration is variable (could be another iteration or could be the next
  7501  		//     item). As these two opcodes are not listed in the next switch, they will
  7502  		//     end up as the next code to inspect, and return FALSE by virtue of being
  7503  		//     unsupported.
  7504  
  7505  		case OP_KET:
  7506  			fallthrough
  7507  		case OP_KETRPOS:
  7508  			// The non-greedy case cannot be converted to a possessive form.
  7509  
  7510  			if *(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) == Tuint32_t(0) {
  7511  				return DFALSE
  7512  			}
  7513  
  7514  			// If the bracket is capturing it might be referenced by an OP_RECURSE
  7515  			//     so its last iterator can never be possessified if the pattern contains
  7516  			//     recursions. (This could be improved by keeping a list of group numbers that
  7517  			//     are called by recursion.)
  7518  
  7519  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) {
  7520  			case OP_CBRA:
  7521  				fallthrough
  7522  			case OP_SCBRA:
  7523  				fallthrough
  7524  			case OP_CBRAPOS:
  7525  				fallthrough
  7526  			case OP_SCBRAPOS:
  7527  				if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse != 0 {
  7528  					return DFALSE
  7529  				}
  7530  				break
  7531  
  7532  			// A script run might have to backtrack if the iterated item can match
  7533  			//       characters from more than one script. So give up unless repeating an
  7534  			//       explicit character.
  7535  
  7536  			case OP_SCRIPT_RUN:
  7537  				if *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHAR && *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHARI {
  7538  					return DFALSE
  7539  				}
  7540  				break
  7541  
  7542  			// Atomic sub-patterns and assertions can always auto-possessify their
  7543  			//       last iterator. However, if the group was entered as a result of checking
  7544  			//       a previous iterator, this is not possible.
  7545  
  7546  			case OP_ASSERT:
  7547  				fallthrough
  7548  			case OP_ASSERT_NOT:
  7549  				fallthrough
  7550  			case OP_ASSERTBACK:
  7551  				fallthrough
  7552  			case OP_ASSERTBACK_NOT:
  7553  				fallthrough
  7554  			case OP_ONCE:
  7555  				return libc.BoolInt32(!(entered_a_group != 0))
  7556  
  7557  			// Non-atomic assertions - don't possessify last iterator. This needs
  7558  			//       more thought.
  7559  
  7560  			case OP_ASSERT_NA:
  7561  				fallthrough
  7562  			case OP_ASSERTBACK_NA:
  7563  				return DFALSE
  7564  			}
  7565  
  7566  			// Skip over the bracket and inspect what comes next.
  7567  
  7568  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7569  			continue
  7570  
  7571  		// Handle cases where the next item is a group.
  7572  
  7573  		case OP_ONCE:
  7574  			fallthrough
  7575  		case OP_BRA:
  7576  			fallthrough
  7577  		case OP_CBRA:
  7578  			next_code = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7579  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7580  
  7581  			// Check each branch. We have to recurse a level for all but the last
  7582  			//     branch.
  7583  
  7584  			for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7585  				if !(compare_opcodes(tls, code, utf, ucp, cb, base_list, base_end, rec_limit) != 0) {
  7586  					return DFALSE
  7587  				}
  7588  				code = next_code + uintptr(1) + uintptr(DLINK_SIZE)
  7589  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7590  			}
  7591  
  7592  			entered_a_group = DTRUE
  7593  			continue
  7594  
  7595  		case OP_BRAZERO:
  7596  			fallthrough
  7597  		case OP_BRAMINZERO:
  7598  
  7599  			next_code = code + uintptr(1)
  7600  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_CBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_ONCE {
  7601  				return DFALSE
  7602  			}
  7603  
  7604  			for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7605  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7606  			}
  7607  
  7608  			// The bracket content will be checked by the OP_BRA/OP_CBRA case above.
  7609  
  7610  			next_code += TPCRE2_SPTR8(1 + DLINK_SIZE)
  7611  			if !(compare_opcodes(tls, next_code, utf, ucp, cb, base_list, base_end,
  7612  				rec_limit) != 0) {
  7613  				return DFALSE
  7614  			}
  7615  
  7616  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7617  			continue
  7618  
  7619  		// The next opcode does not need special handling; fall through and use it
  7620  		//     to see if the base can be possessified.
  7621  
  7622  		default:
  7623  			break
  7624  		}
  7625  
  7626  		// We now have the next appropriate opcode to compare with the base. Check
  7627  		//   for a supported opcode, and load its properties.
  7628  
  7629  		code = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  7630  		if code == uintptr(0) {
  7631  			return DFALSE
  7632  		} // Unsupported
  7633  
  7634  		// If either opcode is a small character list, set pointers for comparing
  7635  		//   characters from that list with another list, or with a property.
  7636  
  7637  		if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CHAR {
  7638  			chr_ptr = base_list + uintptr(2)*4
  7639  			list_ptr = bp /* &list[0] */
  7640  		} else if *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CHAR {
  7641  			chr_ptr = bp + uintptr(2)*4
  7642  			list_ptr = base_list
  7643  		} else if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CLASS ||
  7644  
  7645  			!(utf != 0) && (*(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_NCLASS) {
  7646  			if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS {
  7647  				set1 = base_end - uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))
  7648  				list_ptr = bp /* &list[0] */
  7649  			} else {
  7650  				set1 = code - uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4)))
  7651  				list_ptr = base_list
  7652  			}
  7653  
  7654  			invert_bits = DFALSE
  7655  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7656  			case OP_CLASS:
  7657  				fallthrough
  7658  			case OP_NCLASS:
  7659  				set2 = func() uintptr {
  7660  					if list_ptr == bp {
  7661  						return code
  7662  					}
  7663  					return base_end
  7664  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  7665  				break
  7666  				fallthrough
  7667  
  7668  			case OP_XCLASS:
  7669  				xclass_flags = func() uintptr {
  7670  					if list_ptr == bp {
  7671  						return code
  7672  					}
  7673  					return base_end
  7674  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) + uintptr(DLINK_SIZE)
  7675  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_HASPROP != 0 {
  7676  					return DFALSE
  7677  				}
  7678  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_MAP == 0 {
  7679  					// No bits are set for characters < 256.
  7680  					if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7681  						return libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_NOT == 0)
  7682  					}
  7683  					// Might be an empty repeat.
  7684  					continue
  7685  				}
  7686  				set2 = xclass_flags + uintptr(1)
  7687  				break
  7688  				fallthrough
  7689  
  7690  			case OP_NOT_DIGIT:
  7691  				invert_bits = DTRUE
  7692  				fallthrough
  7693  			// Fall through
  7694  			case OP_DIGIT:
  7695  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_digit)
  7696  				break
  7697  				fallthrough
  7698  
  7699  			case OP_NOT_WHITESPACE:
  7700  				invert_bits = DTRUE
  7701  				fallthrough
  7702  			// Fall through
  7703  			case OP_WHITESPACE:
  7704  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_space)
  7705  				break
  7706  				fallthrough
  7707  
  7708  			case OP_NOT_WORDCHAR:
  7709  				invert_bits = DTRUE
  7710  				fallthrough
  7711  			// Fall through
  7712  			case OP_WORDCHAR:
  7713  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_word)
  7714  				break
  7715  				fallthrough
  7716  
  7717  			default:
  7718  				return DFALSE
  7719  			}
  7720  
  7721  			// Because the bit sets are unaligned bytes, we need to perform byte
  7722  			//     comparison here.
  7723  
  7724  			set_end = set1 + uintptr(32)
  7725  			if invert_bits != 0 {
  7726  				for __ccgo2 := true; __ccgo2; __ccgo2 = set1 < set_end {
  7727  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1)))) & ^int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7728  						return DFALSE
  7729  					}
  7730  				}
  7731  			} else {
  7732  				for __ccgo3 := true; __ccgo3; __ccgo3 = set1 < set_end {
  7733  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1))))&int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7734  						return DFALSE
  7735  					}
  7736  				}
  7737  			}
  7738  
  7739  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7740  				return DTRUE
  7741  			}
  7742  			// Might be an empty repeat.
  7743  			continue
  7744  		} else {
  7745  			var leftop Tuint32_t
  7746  			var rightop Tuint32_t
  7747  
  7748  			leftop = *(*Tuint32_t)(unsafe.Pointer(base_list))
  7749  			rightop = *(*Tuint32_t)(unsafe.Pointer(bp))
  7750  
  7751  			accepted = DFALSE // Always set in non-unicode case.
  7752  			if leftop == OP_PROP || leftop == OP_NOTPROP {
  7753  				if rightop == OP_EOD {
  7754  					accepted = DTRUE
  7755  				} else if rightop == OP_PROP || rightop == OP_NOTPROP {
  7756  					var n int32
  7757  					var p uintptr
  7758  					var same TBOOL = libc.Bool32(leftop == rightop)
  7759  					var lisprop TBOOL = libc.Bool32(leftop == OP_PROP)
  7760  					var risprop TBOOL = libc.Bool32(rightop == OP_PROP)
  7761  					var bothprop TBOOL = libc.Bool32(lisprop != 0 && risprop != 0)
  7762  
  7763  					// There's a table that specifies how each combination is to be
  7764  					//         processed:
  7765  					//           0   Always return FALSE (never auto-possessify)
  7766  					//           1   Character groups are distinct (possessify if both are OP_PROP)
  7767  					//           2   Check character categories in the same group (general or particular)
  7768  					//           3   Return TRUE if the two opcodes are not the same
  7769  					//           ... see comments below
  7770  					//
  7771  
  7772  					n = int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&propposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))*14 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4))))))
  7773  					switch n {
  7774  					case 0:
  7775  						break
  7776  						fallthrough
  7777  					case 1:
  7778  						accepted = bothprop
  7779  						break
  7780  						fallthrough
  7781  					case 2:
  7782  						accepted = libc.Bool32(libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 3*4))) != same)
  7783  						break
  7784  						fallthrough
  7785  					case 3:
  7786  						accepted = libc.BoolInt32(!(same != 0))
  7787  						break
  7788  						fallthrough
  7789  
  7790  					case 4: // Left general category, right particular category
  7791  						accepted = libc.Bool32(risprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))))) == same)
  7792  						break
  7793  						fallthrough
  7794  
  7795  					case 5: // Right general category, left particular category
  7796  						accepted = libc.Bool32(lisprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))))) == same)
  7797  						break
  7798  						fallthrough
  7799  
  7800  					// This code is logically tricky. Think hard before fiddling with it.
  7801  					//           The posspropstab table has four entries per row. Each row relates to
  7802  					//           one of PCRE's special properties such as ALNUM or SPACE or WORD.
  7803  					//           Only WORD actually needs all four entries, but using repeats for the
  7804  					//           others means they can all use the same code below.
  7805  					//
  7806  					//           The first two entries in each row are Unicode general categories, and
  7807  					//           apply always, because all the characters they include are part of the
  7808  					//           PCRE character set. The third and fourth entries are a general and a
  7809  					//           particular category, respectively, that include one or more relevant
  7810  					//           characters. One or the other is used, depending on whether the check
  7811  					//           is for a general or a particular category. However, in both cases the
  7812  					//           category contains more characters than the specials that are defined
  7813  					//           for the property being tested against. Therefore, it cannot be used
  7814  					//           in a NOTPROP case.
  7815  					//
  7816  					//           Example: the row for WORD contains ucp_L, ucp_N, ucp_P, ucp_Po.
  7817  					//           Underscore is covered by ucp_P or ucp_Po.
  7818  
  7819  					case 6:
  7820  						fallthrough // Left alphanum vs right general category
  7821  					case 7:
  7822  						fallthrough // Left space vs right general category
  7823  					case 8: // Left word vs right general category
  7824  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-6)*4
  7825  						accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(lisprop != 0))))
  7826  						break
  7827  						fallthrough
  7828  
  7829  					case 9:
  7830  						fallthrough // Right alphanum vs left general category
  7831  					case 10:
  7832  						fallthrough // Right space vs left general category
  7833  					case 11: // Right word vs left general category
  7834  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-9)*4
  7835  						accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(risprop != 0))))
  7836  						break
  7837  						fallthrough
  7838  
  7839  					case 12:
  7840  						fallthrough // Left alphanum vs right particular category
  7841  					case 13:
  7842  						fallthrough // Left space vs right particular category
  7843  					case 14: // Left word vs right particular category
  7844  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-12)*4
  7845  						accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(lisprop != 0))))
  7846  						break
  7847  						fallthrough
  7848  
  7849  					case 15:
  7850  						fallthrough // Right alphanum vs left particular category
  7851  					case 16:
  7852  						fallthrough // Right space vs left particular category
  7853  					case 17: // Right word vs left particular category
  7854  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-15)*4
  7855  						accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(risprop != 0))))
  7856  						break
  7857  					}
  7858  				}
  7859  			} else {
  7860  
  7861  				accepted = libc.Bool32(leftop >= OP_NOT_DIGIT && leftop <= OP_EXTUNI && rightop >= OP_NOT_DIGIT && rightop <= OP_DOLLM && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&autoposstab)) + uintptr(leftop-OP_NOT_DIGIT)*21 + uintptr(rightop-OP_NOT_DIGIT))) != 0)
  7862  			}
  7863  
  7864  			if !(accepted != 0) {
  7865  				return DFALSE
  7866  			}
  7867  
  7868  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7869  				return DTRUE
  7870  			}
  7871  			// Might be an empty repeat.
  7872  			continue
  7873  		}
  7874  
  7875  		// Control reaches here only if one of the items is a small character list.
  7876  		//   All characters are checked against the other side.
  7877  
  7878  		for __ccgo4 := true; __ccgo4; __ccgo4 = *(*Tuint32_t)(unsafe.Pointer(chr_ptr)) != DNOTACHAR {
  7879  			chr = *(*Tuint32_t)(unsafe.Pointer(chr_ptr))
  7880  
  7881  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7882  			case OP_CHAR:
  7883  				ochr_ptr = list_ptr + uintptr(2)*4
  7884  				for __ccgo5 := true; __ccgo5; __ccgo5 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7885  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7886  						return DFALSE
  7887  					}
  7888  					ochr_ptr += 4
  7889  				}
  7890  				break
  7891  
  7892  			case OP_NOT:
  7893  				ochr_ptr = list_ptr + uintptr(2)*4
  7894  				for __ccgo6 := true; __ccgo6; __ccgo6 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7895  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7896  						break
  7897  					}
  7898  					ochr_ptr += 4
  7899  				}
  7900  				if *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) == DNOTACHAR {
  7901  					return DFALSE
  7902  				} // Not found
  7903  				break
  7904  
  7905  			// Note that OP_DIGIT etc. are generated only when PCRE2_UCP is *not*
  7906  			//       set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  7907  
  7908  			case OP_DIGIT:
  7909  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit != 0 {
  7910  					return DFALSE
  7911  				}
  7912  				break
  7913  
  7914  			case OP_NOT_DIGIT:
  7915  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit == 0 {
  7916  					return DFALSE
  7917  				}
  7918  				break
  7919  
  7920  			case OP_WHITESPACE:
  7921  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space != 0 {
  7922  					return DFALSE
  7923  				}
  7924  				break
  7925  
  7926  			case OP_NOT_WHITESPACE:
  7927  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space == 0 {
  7928  					return DFALSE
  7929  				}
  7930  				break
  7931  
  7932  			case OP_WORDCHAR:
  7933  				if chr < Tuint32_t(255) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word != 0 {
  7934  					return DFALSE
  7935  				}
  7936  				break
  7937  
  7938  			case OP_NOT_WORDCHAR:
  7939  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word == 0 {
  7940  					return DFALSE
  7941  				}
  7942  				break
  7943  
  7944  			case OP_HSPACE:
  7945  				switch chr {
  7946  				case Tuint32_t('\011'):
  7947  					fallthrough
  7948  				case Tuint32_t('\040'):
  7949  					fallthrough
  7950  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7951  					fallthrough
  7952  				case Tuint32_t(0x1680):
  7953  					fallthrough /* OGHAM SPACE MARK */
  7954  				case Tuint32_t(0x180e):
  7955  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7956  				case Tuint32_t(0x2000):
  7957  					fallthrough /* EN QUAD */
  7958  				case Tuint32_t(0x2001):
  7959  					fallthrough /* EM QUAD */
  7960  				case Tuint32_t(0x2002):
  7961  					fallthrough /* EN SPACE */
  7962  				case Tuint32_t(0x2003):
  7963  					fallthrough /* EM SPACE */
  7964  				case Tuint32_t(0x2004):
  7965  					fallthrough /* THREE-PER-EM SPACE */
  7966  				case Tuint32_t(0x2005):
  7967  					fallthrough /* FOUR-PER-EM SPACE */
  7968  				case Tuint32_t(0x2006):
  7969  					fallthrough /* SIX-PER-EM SPACE */
  7970  				case Tuint32_t(0x2007):
  7971  					fallthrough /* FIGURE SPACE */
  7972  				case Tuint32_t(0x2008):
  7973  					fallthrough /* PUNCTUATION SPACE */
  7974  				case Tuint32_t(0x2009):
  7975  					fallthrough /* THIN SPACE */
  7976  				case Tuint32_t(0x200A):
  7977  					fallthrough /* HAIR SPACE */
  7978  				case Tuint32_t(0x202f):
  7979  					fallthrough /* NARROW NO-BREAK SPACE */
  7980  				case Tuint32_t(0x205f):
  7981  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7982  				case Tuint32_t(0x3000):
  7983  					return DFALSE
  7984  				default:
  7985  					break
  7986  				}
  7987  				break
  7988  
  7989  			case OP_NOT_HSPACE:
  7990  				switch chr {
  7991  				case Tuint32_t('\011'):
  7992  					fallthrough
  7993  				case Tuint32_t('\040'):
  7994  					fallthrough
  7995  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
  7996  					fallthrough
  7997  				case Tuint32_t(0x1680):
  7998  					fallthrough /* OGHAM SPACE MARK */
  7999  				case Tuint32_t(0x180e):
  8000  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  8001  				case Tuint32_t(0x2000):
  8002  					fallthrough /* EN QUAD */
  8003  				case Tuint32_t(0x2001):
  8004  					fallthrough /* EM QUAD */
  8005  				case Tuint32_t(0x2002):
  8006  					fallthrough /* EN SPACE */
  8007  				case Tuint32_t(0x2003):
  8008  					fallthrough /* EM SPACE */
  8009  				case Tuint32_t(0x2004):
  8010  					fallthrough /* THREE-PER-EM SPACE */
  8011  				case Tuint32_t(0x2005):
  8012  					fallthrough /* FOUR-PER-EM SPACE */
  8013  				case Tuint32_t(0x2006):
  8014  					fallthrough /* SIX-PER-EM SPACE */
  8015  				case Tuint32_t(0x2007):
  8016  					fallthrough /* FIGURE SPACE */
  8017  				case Tuint32_t(0x2008):
  8018  					fallthrough /* PUNCTUATION SPACE */
  8019  				case Tuint32_t(0x2009):
  8020  					fallthrough /* THIN SPACE */
  8021  				case Tuint32_t(0x200A):
  8022  					fallthrough /* HAIR SPACE */
  8023  				case Tuint32_t(0x202f):
  8024  					fallthrough /* NARROW NO-BREAK SPACE */
  8025  				case Tuint32_t(0x205f):
  8026  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  8027  				case Tuint32_t(0x3000):
  8028  					break
  8029  				default:
  8030  					return DFALSE
  8031  				}
  8032  				break
  8033  
  8034  			case OP_ANYNL:
  8035  				fallthrough
  8036  			case OP_VSPACE:
  8037  				switch chr {
  8038  				case Tuint32_t('\012'):
  8039  					fallthrough
  8040  				case Tuint32_t('\013'):
  8041  					fallthrough
  8042  				case Tuint32_t('\014'):
  8043  					fallthrough
  8044  				case Tuint32_t('\015'):
  8045  					fallthrough
  8046  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8047  					fallthrough
  8048  				case Tuint32_t(0x2028):
  8049  					fallthrough /* LINE SEPARATOR */
  8050  				case Tuint32_t(0x2029):
  8051  					return DFALSE
  8052  				default:
  8053  					break
  8054  				}
  8055  				break
  8056  
  8057  			case OP_NOT_VSPACE:
  8058  				switch chr {
  8059  				case Tuint32_t('\012'):
  8060  					fallthrough
  8061  				case Tuint32_t('\013'):
  8062  					fallthrough
  8063  				case Tuint32_t('\014'):
  8064  					fallthrough
  8065  				case Tuint32_t('\015'):
  8066  					fallthrough
  8067  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8068  					fallthrough
  8069  				case Tuint32_t(0x2028):
  8070  					fallthrough /* LINE SEPARATOR */
  8071  				case Tuint32_t(0x2029):
  8072  					break
  8073  				default:
  8074  					return DFALSE
  8075  				}
  8076  				break
  8077  
  8078  			case OP_DOLL:
  8079  				fallthrough
  8080  			case OP_EODN:
  8081  				switch chr {
  8082  				case Tuint32_t('\015'):
  8083  					fallthrough
  8084  				case Tuint32_t('\012'):
  8085  					fallthrough
  8086  				case Tuint32_t('\013'):
  8087  					fallthrough
  8088  				case Tuint32_t('\014'):
  8089  					fallthrough
  8090  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
  8091  					fallthrough
  8092  				case Tuint32_t(0x2028):
  8093  					fallthrough
  8094  				case Tuint32_t(0x2029):
  8095  					return DFALSE
  8096  				}
  8097  				break
  8098  
  8099  			case OP_EOD: // Can always possessify before \z
  8100  				break
  8101  
  8102  			case OP_PROP:
  8103  				fallthrough
  8104  			case OP_NOTPROP:
  8105  				if !(check_char_prop(tls, chr, *(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)), *(*Tuint32_t)(unsafe.Pointer(list_ptr + 3*4)),
  8106  					libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(list_ptr)) == OP_NOTPROP)) != 0) {
  8107  					return DFALSE
  8108  				}
  8109  				break
  8110  
  8111  			case OP_NCLASS:
  8112  				if chr > Tuint32_t(255) {
  8113  					return DFALSE
  8114  				}
  8115  				fallthrough
  8116  			// Fall through
  8117  
  8118  			case OP_CLASS:
  8119  				if chr > Tuint32_t(255) {
  8120  					break
  8121  				}
  8122  				class_bitset = func() uintptr {
  8123  					if list_ptr == bp {
  8124  						return code
  8125  					}
  8126  					return base_end
  8127  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  8128  				if uint32(*(*Tuint8_t)(unsafe.Pointer(class_bitset + uintptr(chr>>3))))&(uint32(1)<<(chr&Tuint32_t(7))) != uint32(0) {
  8129  					return DFALSE
  8130  				}
  8131  				break
  8132  
  8133  			case OP_XCLASS:
  8134  				if X_pcre2_xclass_8(tls, chr, func() uintptr {
  8135  					if list_ptr == bp {
  8136  						return code
  8137  					}
  8138  					return base_end
  8139  				}()-uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))+uintptr(DLINK_SIZE), utf) != 0 {
  8140  					return DFALSE
  8141  				}
  8142  				break
  8143  
  8144  			default:
  8145  				return DFALSE
  8146  			}
  8147  
  8148  			chr_ptr += 4
  8149  		}
  8150  
  8151  		// At least one character must be matched from this opcode.
  8152  
  8153  		if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  8154  			return DTRUE
  8155  		}
  8156  	}
  8157  	return TBOOL(0)
  8158  
  8159  	// Control never reaches here. There used to be a fail-save return FALSE; here,
  8160  	// but some compilers complain about an unreachable statement.
  8161  }
  8162  
  8163  // ************************************************
  8164  //
  8165  //    Scan compiled regex for auto-possession     *
  8166  //
  8167  
  8168  // Replaces single character iterations with their possessive alternatives
  8169  // if appropriate. This function modifies the compiled opcode! Hitting a
  8170  // non-existent opcode may indicate a bug in PCRE2, but it can also be caused if a
  8171  // bad UTF string was compiled with PCRE2_NO_UTF_CHECK. The rec_limit catches
  8172  // overly complicated or large patterns. In these cases, the check just stops,
  8173  // leaving the remainder of the pattern unpossessified.
  8174  //
  8175  // Arguments:
  8176  //   code        points to start of the byte code
  8177  //   cb          compile data block
  8178  //
  8179  // Returns:      0 for success
  8180  //               -1 if a non-existant opcode is encountered
  8181  
  8182  func X_pcre2_auto_possessify_8(tls *libc.TLS, code uintptr, cb uintptr) int32 { /* pcre2_auto_possess.c:1132:1: */
  8183  	bp := tls.Alloc(36)
  8184  	defer tls.Free(36)
  8185  
  8186  	var c TPCRE2_UCHAR8
  8187  	var end TPCRE2_SPTR8
  8188  	var repeat_opcode uintptr
  8189  	// var list [8]Tuint32_t at bp, 32
  8190  
  8191  	*(*int32)(unsafe.Pointer(bp + 32 /* rec_limit */)) = 1000 // Was 10,000 but clang+ASAN uses a lot of stack.
  8192  	var utf TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
  8193  	var ucp TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
  8194  
  8195  	for {
  8196  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8197  
  8198  		if int32(c) >= OP_TABLE_LENGTH {
  8199  			return -1
  8200  		} // Something gone wrong
  8201  
  8202  		if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  8203  			c = TPCRE2_UCHAR8(int32(c) - (int32(get_repeat_base(tls, c)) - OP_STAR))
  8204  			if int32(c) <= OP_MINUPTO {
  8205  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8206  			} else {
  8207  				end = uintptr(0)
  8208  			}
  8209  			*(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c) == OP_STAR || int32(c) == OP_PLUS || int32(c) == OP_QUERY || int32(c) == OP_UPTO))
  8210  
  8211  			if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end,
  8212  				bp+32) != 0 {
  8213  				switch int32(c) {
  8214  				case OP_STAR:
  8215  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_STAR)
  8216  					break
  8217  					fallthrough
  8218  
  8219  				case OP_MINSTAR:
  8220  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_MINSTAR)
  8221  					break
  8222  					fallthrough
  8223  
  8224  				case OP_PLUS:
  8225  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_PLUS)
  8226  					break
  8227  					fallthrough
  8228  
  8229  				case OP_MINPLUS:
  8230  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_MINPLUS)
  8231  					break
  8232  					fallthrough
  8233  
  8234  				case OP_QUERY:
  8235  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_QUERY)
  8236  					break
  8237  					fallthrough
  8238  
  8239  				case OP_MINQUERY:
  8240  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_MINQUERY)
  8241  					break
  8242  					fallthrough
  8243  
  8244  				case OP_UPTO:
  8245  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_UPTO)
  8246  					break
  8247  					fallthrough
  8248  
  8249  				case OP_MINUPTO:
  8250  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_MINUPTO)
  8251  					break
  8252  				}
  8253  			}
  8254  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8255  		} else if int32(c) == OP_CLASS || int32(c) == OP_NCLASS || int32(c) == OP_XCLASS {
  8256  			if int32(c) == OP_XCLASS {
  8257  				repeat_opcode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8258  			} else {
  8259  				repeat_opcode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  8260  			}
  8261  
  8262  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode))
  8263  			if int32(c) >= OP_CRSTAR && int32(c) <= OP_CRMINRANGE {
  8264  				// The return from get_chr_property_list() will never be NULL when
  8265  				// code (aka c) is one of the three class opcodes. However, gcc with
  8266  				//       -fanalyzer notes that a NULL return is possible, and grumbles. Hence we
  8267  				//       put in a check.
  8268  
  8269  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8270  				*(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c)&1 == 0))
  8271  
  8272  				if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end, bp+32) != 0 {
  8273  					switch int32(c) {
  8274  					case OP_CRSTAR:
  8275  						fallthrough
  8276  					case OP_CRMINSTAR:
  8277  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSSTAR
  8278  						break
  8279  						fallthrough
  8280  
  8281  					case OP_CRPLUS:
  8282  						fallthrough
  8283  					case OP_CRMINPLUS:
  8284  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSPLUS
  8285  						break
  8286  						fallthrough
  8287  
  8288  					case OP_CRQUERY:
  8289  						fallthrough
  8290  					case OP_CRMINQUERY:
  8291  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSQUERY
  8292  						break
  8293  						fallthrough
  8294  
  8295  					case OP_CRRANGE:
  8296  						fallthrough
  8297  					case OP_CRMINRANGE:
  8298  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSRANGE
  8299  						break
  8300  					}
  8301  				}
  8302  			}
  8303  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8304  		}
  8305  
  8306  		switch int32(c) {
  8307  		case OP_END:
  8308  			return 0
  8309  
  8310  		case OP_TYPESTAR:
  8311  			fallthrough
  8312  		case OP_TYPEMINSTAR:
  8313  			fallthrough
  8314  		case OP_TYPEPLUS:
  8315  			fallthrough
  8316  		case OP_TYPEMINPLUS:
  8317  			fallthrough
  8318  		case OP_TYPEQUERY:
  8319  			fallthrough
  8320  		case OP_TYPEMINQUERY:
  8321  			fallthrough
  8322  		case OP_TYPEPOSSTAR:
  8323  			fallthrough
  8324  		case OP_TYPEPOSPLUS:
  8325  			fallthrough
  8326  		case OP_TYPEPOSQUERY:
  8327  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
  8328  				code += uintptr(2)
  8329  			}
  8330  			break
  8331  
  8332  		case OP_TYPEUPTO:
  8333  			fallthrough
  8334  		case OP_TYPEMINUPTO:
  8335  			fallthrough
  8336  		case OP_TYPEEXACT:
  8337  			fallthrough
  8338  		case OP_TYPEPOSUPTO:
  8339  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
  8340  				code += uintptr(2)
  8341  			}
  8342  			break
  8343  
  8344  		case OP_CALLOUT_STR:
  8345  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  8346  			break
  8347  
  8348  		case OP_XCLASS:
  8349  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8350  			break
  8351  
  8352  		case OP_MARK:
  8353  			fallthrough
  8354  		case OP_COMMIT_ARG:
  8355  			fallthrough
  8356  		case OP_PRUNE_ARG:
  8357  			fallthrough
  8358  		case OP_SKIP_ARG:
  8359  			fallthrough
  8360  		case OP_THEN_ARG:
  8361  			code += uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  8362  			break
  8363  		}
  8364  
  8365  		// Add in the fixed length from the table
  8366  
  8367  		code += uintptr(X_pcre2_OP_lengths_8[c])
  8368  
  8369  		// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
  8370  		//   followed by a multi-byte character. The length in the table is a minimum, so
  8371  		//   we have to arrange to skip the extra code units.
  8372  
  8373  		if utf != 0 {
  8374  			switch int32(c) {
  8375  			case OP_CHAR:
  8376  				fallthrough
  8377  			case OP_CHARI:
  8378  				fallthrough
  8379  			case OP_NOT:
  8380  				fallthrough
  8381  			case OP_NOTI:
  8382  				fallthrough
  8383  			case OP_STAR:
  8384  				fallthrough
  8385  			case OP_MINSTAR:
  8386  				fallthrough
  8387  			case OP_PLUS:
  8388  				fallthrough
  8389  			case OP_MINPLUS:
  8390  				fallthrough
  8391  			case OP_QUERY:
  8392  				fallthrough
  8393  			case OP_MINQUERY:
  8394  				fallthrough
  8395  			case OP_UPTO:
  8396  				fallthrough
  8397  			case OP_MINUPTO:
  8398  				fallthrough
  8399  			case OP_EXACT:
  8400  				fallthrough
  8401  			case OP_POSSTAR:
  8402  				fallthrough
  8403  			case OP_POSPLUS:
  8404  				fallthrough
  8405  			case OP_POSQUERY:
  8406  				fallthrough
  8407  			case OP_POSUPTO:
  8408  				fallthrough
  8409  			case OP_STARI:
  8410  				fallthrough
  8411  			case OP_MINSTARI:
  8412  				fallthrough
  8413  			case OP_PLUSI:
  8414  				fallthrough
  8415  			case OP_MINPLUSI:
  8416  				fallthrough
  8417  			case OP_QUERYI:
  8418  				fallthrough
  8419  			case OP_MINQUERYI:
  8420  				fallthrough
  8421  			case OP_UPTOI:
  8422  				fallthrough
  8423  			case OP_MINUPTOI:
  8424  				fallthrough
  8425  			case OP_EXACTI:
  8426  				fallthrough
  8427  			case OP_POSSTARI:
  8428  				fallthrough
  8429  			case OP_POSPLUSI:
  8430  				fallthrough
  8431  			case OP_POSQUERYI:
  8432  				fallthrough
  8433  			case OP_POSUPTOI:
  8434  				fallthrough
  8435  			case OP_NOTSTAR:
  8436  				fallthrough
  8437  			case OP_NOTMINSTAR:
  8438  				fallthrough
  8439  			case OP_NOTPLUS:
  8440  				fallthrough
  8441  			case OP_NOTMINPLUS:
  8442  				fallthrough
  8443  			case OP_NOTQUERY:
  8444  				fallthrough
  8445  			case OP_NOTMINQUERY:
  8446  				fallthrough
  8447  			case OP_NOTUPTO:
  8448  				fallthrough
  8449  			case OP_NOTMINUPTO:
  8450  				fallthrough
  8451  			case OP_NOTEXACT:
  8452  				fallthrough
  8453  			case OP_NOTPOSSTAR:
  8454  				fallthrough
  8455  			case OP_NOTPOSPLUS:
  8456  				fallthrough
  8457  			case OP_NOTPOSQUERY:
  8458  				fallthrough
  8459  			case OP_NOTPOSUPTO:
  8460  				fallthrough
  8461  			case OP_NOTSTARI:
  8462  				fallthrough
  8463  			case OP_NOTMINSTARI:
  8464  				fallthrough
  8465  			case OP_NOTPLUSI:
  8466  				fallthrough
  8467  			case OP_NOTMINPLUSI:
  8468  				fallthrough
  8469  			case OP_NOTQUERYI:
  8470  				fallthrough
  8471  			case OP_NOTMINQUERYI:
  8472  				fallthrough
  8473  			case OP_NOTUPTOI:
  8474  				fallthrough
  8475  			case OP_NOTMINUPTOI:
  8476  				fallthrough
  8477  			case OP_NOTEXACTI:
  8478  				fallthrough
  8479  			case OP_NOTPOSSTARI:
  8480  				fallthrough
  8481  			case OP_NOTPOSPLUSI:
  8482  				fallthrough
  8483  			case OP_NOTPOSQUERYI:
  8484  				fallthrough
  8485  			case OP_NOTPOSUPTOI:
  8486  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
  8487  					code += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
  8488  				}
  8489  				break
  8490  			}
  8491  		}
  8492  	}
  8493  	return int32(0)
  8494  }
  8495  
  8496  // End of pcre2_auto_possess.c
  8497  
  8498  // This function is needed only when memmove() is not available.
  8499  
  8500  // End of pcre2_internal.h
  8501  
  8502  var X_pcre2_default_tables_8 = [1088]Tuint8_t{
  8503  
  8504  	// This table is a lower casing table.
  8505  
  8506  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8507  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8508  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8509  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8510  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8511  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8512  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8513  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8514  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8515  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8516  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8517  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8518  	Tuint8_t(96), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8519  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8520  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8521  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8522  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8523  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8524  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8525  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8526  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8527  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8528  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8529  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8530  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8531  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8532  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8533  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8534  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8535  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8536  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8537  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8538  
  8539  	// This table is a case flipping table.
  8540  
  8541  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8542  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8543  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8544  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8545  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8546  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8547  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8548  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8549  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8550  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8551  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8552  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8553  	Tuint8_t(96), Tuint8_t(65), Tuint8_t(66), Tuint8_t(67), Tuint8_t(68), Tuint8_t(69), Tuint8_t(70), Tuint8_t(71),
  8554  	Tuint8_t(72), Tuint8_t(73), Tuint8_t(74), Tuint8_t(75), Tuint8_t(76), Tuint8_t(77), Tuint8_t(78), Tuint8_t(79),
  8555  	Tuint8_t(80), Tuint8_t(81), Tuint8_t(82), Tuint8_t(83), Tuint8_t(84), Tuint8_t(85), Tuint8_t(86), Tuint8_t(87),
  8556  	Tuint8_t(88), Tuint8_t(89), Tuint8_t(90), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8557  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8558  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8559  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8560  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8561  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8562  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8563  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8564  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8565  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8566  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8567  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8568  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8569  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8570  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8571  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8572  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8573  
  8574  	// This table contains bit maps for various character classes. Each map is 32
  8575  	// bytes long and the bits run from the least significant end of each byte. The
  8576  	// classes that have their own maps are: space, xdigit, digit, upper, lower, word,
  8577  	// graph, print, punct, and cntrl. Other classes are built from combinations.
  8578  
  8579  	Tuint8_t(0x00), Tuint8_t(0x3e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // space
  8580  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8581  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8582  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8583  
  8584  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // xdigit
  8585  	Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8586  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8587  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8588  
  8589  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // digit
  8590  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8591  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8592  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8593  
  8594  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // upper
  8595  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8596  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8597  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8598  
  8599  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // lower
  8600  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8601  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8602  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8603  
  8604  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // word
  8605  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x87), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8606  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8607  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8608  
  8609  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // graph
  8610  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  8611  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8612  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8613  
  8614  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // print
  8615  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  8616  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8617  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8618  
  8619  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0xfc), // punct
  8620  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xf8), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x78),
  8621  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8622  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8623  
  8624  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // cntrl
  8625  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x80),
  8626  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8627  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8628  
  8629  	// This table identifies various classes of character by individual bits:
  8630  	//   0x01   white space character
  8631  	//   0x02   letter
  8632  	//   0x04   lower case letter
  8633  	//   0x08   decimal digit
  8634  	//   0x10   alphanumeric or '_'
  8635  
  8636  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //   0-  7
  8637  	Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), //   8- 15
  8638  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  16- 23
  8639  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  24- 31
  8640  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //    - '
  8641  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  ( - /
  8642  	Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), //  0 - 7
  8643  	Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  8 - ?
  8644  	Tuint8_t(0x00), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  @ - G
  8645  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  H - O
  8646  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  P - W
  8647  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x10), //  X - _
  8648  	Tuint8_t(0x00), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  ` - g
  8649  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  h - o
  8650  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  p - w
  8651  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  x -127
  8652  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 128-135
  8653  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 136-143
  8654  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 144-151
  8655  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 152-159
  8656  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 160-167
  8657  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 168-175
  8658  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 176-183
  8659  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 184-191
  8660  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 192-199
  8661  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 200-207
  8662  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 208-215
  8663  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 216-223
  8664  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 224-231
  8665  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 232-239
  8666  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 240-247
  8667  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00)} /* pcre2_chartables.c:34:15 */ // 248-255
  8668  
  8669  // End of pcre2_chartables.c
  8670  
  8671  // ************************************************
  8672  //
  8673  //      Code parameters and static tables         *
  8674  //
  8675  
  8676  // COMPILE_WORK_SIZE specifies the size of stack workspace, which is used in
  8677  // different ways in the different pattern scans. The parsing and group-
  8678  // identifying pre-scan uses it to handle nesting, and needs it to be 16-bit
  8679  // aligned for this. Having defined the size in code units, we set up
  8680  // C16_WORK_SIZE as the number of elements in the 16-bit vector.
  8681  //
  8682  // During the first compiling phase, when determining how much memory is required,
  8683  // the regex is partly compiled into this space, but the compiled parts are
  8684  // discarded as soon as they can be, so that hopefully there will never be an
  8685  // overrun. The code does, however, check for an overrun, which can occur for
  8686  // pathological patterns. The size of the workspace depends on LINK_SIZE because
  8687  // the length of compiled items varies with this.
  8688  //
  8689  // In the real compile phase, this workspace is not currently used.
  8690  
  8691  // A uint32_t vector is used for caching information about the size of
  8692  // capturing groups, to improve performance. A default is created on the stack of
  8693  // this size.
  8694  
  8695  // The overrun tests check for a slightly smaller size so that they detect the
  8696  // overrun before it actually does run off the end of the data block.
  8697  
  8698  // This value determines the size of the initial vector that is used for
  8699  // remembering named groups during the pre-compile. It is allocated on the stack,
  8700  // but if it is too small, it is expanded, in a similar way to the workspace. The
  8701  // value is the number of slots in the list.
  8702  
  8703  // The pre-compiling pass over the pattern creates a parsed pattern in a vector
  8704  // of uint32_t. For short patterns this lives on the stack, with this size. Heap
  8705  // memory is used for longer patterns.
  8706  
  8707  // Maximum length value to check against when making sure that the variable
  8708  // that holds the compiled pattern length does not overflow. We make it a bit less
  8709  // than INT_MAX to allow for adding in group terminating code units, so that we
  8710  // don't have to check them every time.
  8711  
  8712  // Code values for parsed patterns, which are stored in a vector of 32-bit
  8713  // unsigned ints. Values less than META_END are literal data values. The coding
  8714  // for identifying the item is in the top 16-bits, leaving 16 bits for the
  8715  // additional data that some of them need. The META_CODE, META_DATA, and META_DIFF
  8716  // macros are used to manipulate parsed pattern elements.
  8717  //
  8718  // NOTE: When these definitions are changed, the table of extra lengths for each
  8719  // code (meta_extra_lengths, just below) must be updated to remain in step.
  8720  
  8721  // These must be kept together to make it easy to check that an assertion
  8722  // is present where expected in a conditional group.
  8723  
  8724  // These cannot be conditions
  8725  
  8726  // These must be kept in this order, with consecutive values, and the _ARG
  8727  // versions of COMMIT, PRUNE, SKIP, and THEN immediately after their non-argument
  8728  // versions.
  8729  
  8730  // These must be kept in groups of adjacent 3 values, and all together.
  8731  
  8732  // This is a special "meta code" that is used only to distinguish (*asr: from
  8733  // (*sr: in the table of aphabetic assertions. It is never stored in the parsed
  8734  // pattern because (*asr: is turned into (*sr:(*atomic: at that stage. There is
  8735  // therefore no need for it to have a length entry, so use a high value.
  8736  
  8737  // Table of extra lengths for each of the meta codes. Must be kept in step with
  8738  // the definitions above. For some items these values are a basic length to which
  8739  // a variable amount has to be added.
  8740  
  8741  var meta_extra_lengths = [64]uint8{
  8742  	uint8(0), // META_END
  8743  	uint8(0), // META_ALT
  8744  	uint8(0), // META_ATOMIC
  8745  	uint8(0), // META_BACKREF - more if group is >= 10
  8746  	uint8(1 + DSIZEOFFSET),
  8747  	uint8(1), // META_BIGVALUE
  8748  	uint8(3), // META_CALLOUT_NUMBER
  8749  	uint8(3 + DSIZEOFFSET),
  8750  	uint8(0),           // META_CAPTURE
  8751  	uint8(0),           // META_CIRCUMFLEX
  8752  	uint8(0),           // META_CLASS
  8753  	uint8(0),           // META_CLASS_EMPTY
  8754  	uint8(0),           // META_CLASS_EMPTY_NOT
  8755  	uint8(0),           // META_CLASS_END
  8756  	uint8(0),           // META_CLASS_NOT
  8757  	uint8(0),           // META_COND_ASSERT
  8758  	uint8(DSIZEOFFSET), // META_COND_DEFINE
  8759  	uint8(1 + DSIZEOFFSET),
  8760  	uint8(1 + DSIZEOFFSET),
  8761  	uint8(1 + DSIZEOFFSET),
  8762  	uint8(1 + DSIZEOFFSET),
  8763  	uint8(3),           // META_COND_VERSION
  8764  	uint8(0),           // META_DOLLAR
  8765  	uint8(0),           // META_DOT
  8766  	uint8(0),           // META_ESCAPE - more for ESC_P, ESC_p, ESC_g, ESC_k
  8767  	uint8(0),           // META_KET
  8768  	uint8(0),           // META_NOCAPTURE
  8769  	uint8(1),           // META_OPTIONS
  8770  	uint8(1),           // META_POSIX
  8771  	uint8(1),           // META_POSIX_NEG
  8772  	uint8(0),           // META_RANGE_ESCAPED
  8773  	uint8(0),           // META_RANGE_LITERAL
  8774  	uint8(DSIZEOFFSET), // META_RECURSE
  8775  	uint8(1 + DSIZEOFFSET),
  8776  	uint8(0),           // META_SCRIPT_RUN
  8777  	uint8(0),           // META_LOOKAHEAD
  8778  	uint8(0),           // META_LOOKAHEADNOT
  8779  	uint8(DSIZEOFFSET), // META_LOOKBEHIND
  8780  	uint8(DSIZEOFFSET), // META_LOOKBEHINDNOT
  8781  	uint8(0),           // META_LOOKAHEAD_NA
  8782  	uint8(DSIZEOFFSET), // META_LOOKBEHIND_NA
  8783  	uint8(1),           // META_MARK - plus the string length
  8784  	uint8(0),           // META_ACCEPT
  8785  	uint8(0),           // META_FAIL
  8786  	uint8(0),           // META_COMMIT
  8787  	uint8(1),           // META_COMMIT_ARG - plus the string length
  8788  	uint8(0),           // META_PRUNE
  8789  	uint8(1),           // META_PRUNE_ARG - plus the string length
  8790  	uint8(0),           // META_SKIP
  8791  	uint8(1),           // META_SKIP_ARG - plus the string length
  8792  	uint8(0),           // META_THEN
  8793  	uint8(1),           // META_THEN_ARG - plus the string length
  8794  	uint8(0),           // META_ASTERISK
  8795  	uint8(0),           // META_ASTERISK_PLUS
  8796  	uint8(0),           // META_ASTERISK_QUERY
  8797  	uint8(0),           // META_PLUS
  8798  	uint8(0),           // META_PLUS_PLUS
  8799  	uint8(0),           // META_PLUS_QUERY
  8800  	uint8(0),           // META_QUERY
  8801  	uint8(0),           // META_QUERY_PLUS
  8802  	uint8(0),           // META_QUERY_QUERY
  8803  	uint8(2),           // META_MINMAX
  8804  	uint8(2),           // META_MINMAX_PLUS
  8805  	uint8(2),           // META_MINMAX_QUERY
  8806  } /* pcre2_compile.c:306:22 */
  8807  
  8808  // Macro for setting individual bits in class bitmaps. It took some
  8809  // experimenting to figure out how to stop gcc 5.3.0 from warning with
  8810  // -Wconversion. This version gets a warning:
  8811  //
  8812  //   #define SETBIT(a,b) a[(b)/8] |= (uint8_t)(1u << ((b)&7))
  8813  //
  8814  // Let's hope the apparently less efficient version isn't actually so bad if the
  8815  // compiler is clever with identical subexpressions.
  8816  
  8817  // Values and flags for the unsigned xxcuflags variables that accompany xxcu
  8818  // variables, which are concerned with first and required code units. A value
  8819  // greater than or equal to REQ_NONE means "no code unit set"; otherwise the
  8820  // matching xxcu variable is set, and the low valued bits are relevant.
  8821  
  8822  // These flags are used in the groupinfo vector.
  8823  
  8824  // This simple test for a decimal digit works for both ASCII/Unicode and EBCDIC
  8825  // and is fast (a good compiler can turn it into a subtraction and unsigned
  8826  // comparison).
  8827  
  8828  // Table to identify hex digits. The tables in chartables are dependent on the
  8829  // locale, and may mark arbitrary characters as digits. We want to recognize only
  8830  // 0-9, a-z, and A-Z as hex digits, which is why we have a private table here. It
  8831  // costs 256 bytes, but it is a lot faster than doing character value tests (at
  8832  // least in some simple cases I timed), and in some applications one wants PCRE2
  8833  // to compile efficiently as well as match efficiently. The value in the table is
  8834  // the binary hex digit value, or 0xff for non-hex digits.
  8835  
  8836  // This is the "normal" case, for ASCII systems, and EBCDIC systems running in
  8837  // UTF-8 mode.
  8838  
  8839  var xdigitab = [256]Tuint8_t{
  8840  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //   0-  7
  8841  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //   8- 15
  8842  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  16- 23
  8843  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  24- 31
  8844  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //    - '
  8845  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  ( - /
  8846  	Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x02), Tuint8_t(0x03), Tuint8_t(0x04), Tuint8_t(0x05), Tuint8_t(0x06), Tuint8_t(0x07), //  0 - 7
  8847  	Tuint8_t(0x08), Tuint8_t(0x09), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  8 - ?
  8848  	Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), //  @ - G
  8849  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  H - O
  8850  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  P - W
  8851  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  X - _
  8852  	Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), //  ` - g
  8853  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  h - o
  8854  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  p - w
  8855  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  x -127
  8856  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 128-135
  8857  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 136-143
  8858  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 144-151
  8859  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 152-159
  8860  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 160-167
  8861  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 168-175
  8862  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 176-183
  8863  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 184-191
  8864  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 192-199
  8865  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 2ff-207
  8866  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 208-215
  8867  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 216-223
  8868  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 224-231
  8869  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 232-239
  8870  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 240-247
  8871  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff)} /* pcre2_compile.c:422:22 */ // 248-255
  8872  
  8873  // Table for handling alphanumeric escaped characters. Positive returns are
  8874  // simple data values; negative values are for special things like \d and so on.
  8875  // Zero means further processing is needed (for things like \x), or the escape is
  8876  // invalid.
  8877  
  8878  // This is the "normal" table for ASCII systems or for EBCDIC systems running
  8879  // in UTF-8 mode. It runs from '0' to 'z'.
  8880  
  8881  var escapes = [75]int16{
  8882  	int16(0), int16(0),
  8883  	int16(0), int16(0),
  8884  	int16(0), int16(0),
  8885  	int16(0), int16(0),
  8886  	int16(0), int16(0),
  8887  	int16('\072'), int16('\073'),
  8888  	int16('\074'), int16('\075'),
  8889  	int16('\076'), int16('\077'),
  8890  	int16('\100'), int16(-ESC_A),
  8891  	int16(-ESC_B), int16(-ESC_C),
  8892  	int16(-ESC_D), int16(-ESC_E),
  8893  	int16(0), int16(-ESC_G),
  8894  	int16(-ESC_H), int16(0),
  8895  	int16(0), int16(-ESC_K),
  8896  	int16(0), int16(0),
  8897  	int16(-ESC_N), int16(0),
  8898  	int16(-ESC_P), int16(-ESC_Q),
  8899  	int16(-ESC_R), int16(-ESC_S),
  8900  	int16(0), int16(0),
  8901  	int16(-ESC_V), int16(-ESC_W),
  8902  	int16(-ESC_X), int16(0),
  8903  	int16(-ESC_Z), int16('\133'),
  8904  	int16('\134'), int16('\135'),
  8905  	int16('\136'), int16('\137'),
  8906  	int16('\140'), int16('\007'),
  8907  	int16(-ESC_b), int16(0),
  8908  	int16(-ESC_d), int16('\033'),
  8909  	int16('\014'), int16(0),
  8910  	int16(-ESC_h), int16(0),
  8911  	int16(0), int16(-ESC_k),
  8912  	int16(0), int16(0),
  8913  	int16('\012'), int16(0),
  8914  	int16(-ESC_p), int16(0),
  8915  	int16('\015'), int16(-ESC_s),
  8916  	int16('\011'), int16(0),
  8917  	int16(-ESC_v), int16(-ESC_w),
  8918  	int16(0), int16(0),
  8919  	int16(-ESC_z),
  8920  } /* pcre2_compile.c:511:24 */
  8921  
  8922  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8923  // searched linearly. Put all the names into a single string, in order to reduce
  8924  // the number of relocations when a shared library is dynamically linked. The
  8925  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8926  // platforms.
  8927  
  8928  type Sverbitem = struct {
  8929  	Flen     uint32
  8930  	Fmeta    Tuint32_t
  8931  	Fhas_arg int32
  8932  } /* pcre2_compile.c:602:9 */
  8933  
  8934  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8935  // searched linearly. Put all the names into a single string, in order to reduce
  8936  // the number of relocations when a shared library is dynamically linked. The
  8937  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8938  // platforms.
  8939  
  8940  type Tverbitem = Sverbitem /* pcre2_compile.c:606:3 */
  8941  
  8942  var verbnames =
  8943  // Empty name is a shorthand for MARK
  8944  
  8945  *(*[43]int8)(unsafe.Pointer(ts)) /* pcre2_compile.c:608:19 */
  8946  
  8947  var verbs = [9]Tverbitem{
  8948  	{Fmeta: DMETA_MARK, Fhas_arg: +1}, // > 0 => must have an argument
  8949  	{Flen: uint32(4), Fmeta: DMETA_MARK, Fhas_arg: +1},
  8950  	{Flen: uint32(6), Fmeta: DMETA_ACCEPT, Fhas_arg: -1}, // < 0 => Optional argument, convert to pre-MARK
  8951  	{Flen: uint32(1), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8952  	{Flen: uint32(4), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8953  	{Flen: uint32(6), Fmeta: DMETA_COMMIT},
  8954  	{Flen: uint32(5), Fmeta: DMETA_PRUNE}, // Optional argument; bump META code if found
  8955  	{Flen: uint32(4), Fmeta: DMETA_SKIP},
  8956  	{Flen: uint32(4), Fmeta: DMETA_THEN},
  8957  } /* pcre2_compile.c:619:23 */
  8958  
  8959  var verbcount int32 = int32(uint64(unsafe.Sizeof(verbs)) / uint64(unsafe.Sizeof(Tverbitem{}))) /* pcre2_compile.c:631:18 */
  8960  
  8961  // Verb opcodes, indexed by their META code offset from META_MARK.
  8962  
  8963  var verbops = [11]Tuint32_t{
  8964  	OP_MARK, OP_ACCEPT, OP_FAIL, OP_COMMIT, OP_COMMIT_ARG, OP_PRUNE,
  8965  	OP_PRUNE_ARG, OP_SKIP, OP_SKIP_ARG, OP_THEN, OP_THEN_ARG} /* pcre2_compile.c:635:23 */
  8966  
  8967  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8968  
  8969  type Salasitem = struct {
  8970  	Flen  uint32
  8971  	Fmeta Tuint32_t
  8972  } /* pcre2_compile.c:641:9 */
  8973  
  8974  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8975  
  8976  type Talasitem = Salasitem /* pcre2_compile.c:644:3 */
  8977  
  8978  var alasnames = *(*[210]int8)(unsafe.Pointer(ts + 43)) /* pcre2_compile.c:646:19 */
  8979  
  8980  var alasmeta = [17]Talasitem{
  8981  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEAD},
  8982  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHIND},
  8983  	{Flen: uint32(5), Fmeta: DMETA_LOOKAHEAD_NA},
  8984  	{Flen: uint32(5), Fmeta: DMETA_LOOKBEHIND_NA},
  8985  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEADNOT},
  8986  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHINDNOT},
  8987  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEAD},
  8988  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHIND},
  8989  	{Flen: uint32(29), Fmeta: DMETA_LOOKAHEAD_NA},
  8990  	{Flen: uint32(30), Fmeta: DMETA_LOOKBEHIND_NA},
  8991  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEADNOT},
  8992  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHINDNOT},
  8993  	{Flen: uint32(6), Fmeta: DMETA_ATOMIC},
  8994  	{Flen: uint32(2), Fmeta: DMETA_SCRIPT_RUN},         // sr = script run
  8995  	{Flen: uint32(3), Fmeta: DMETA_ATOMIC_SCRIPT_RUN},  // asr = atomic script run
  8996  	{Flen: uint32(10), Fmeta: DMETA_SCRIPT_RUN},        // script run
  8997  	{Flen: uint32(17), Fmeta: DMETA_ATOMIC_SCRIPT_RUN}, // atomic script run
  8998  } /* pcre2_compile.c:665:23 */
  8999  
  9000  var alascount int32 = int32(uint64(unsafe.Sizeof(alasmeta)) / uint64(unsafe.Sizeof(Talasitem{}))) /* pcre2_compile.c:685:18 */
  9001  
  9002  // Offsets from OP_STAR for case-independent and negative repeat opcodes.
  9003  
  9004  var chartypeoffset = [4]Tuint32_t{
  9005  	Tuint32_t(OP_STAR - OP_STAR), Tuint32_t(OP_STARI - OP_STAR),
  9006  	Tuint32_t(OP_NOTSTAR - OP_STAR), Tuint32_t(OP_NOTSTARI - OP_STAR)} /* pcre2_compile.c:689:17 */
  9007  
  9008  // Tables of names of POSIX character classes and their lengths. The names are
  9009  // now all in a single string, to reduce the number of relocations when a shared
  9010  // library is dynamically loaded. The list of lengths is terminated by a zero
  9011  // length entry. The first three must be alpha, lower, upper, as this is assumed
  9012  // for handling case independence. The indices for graph, print, and punct are
  9013  // needed, so identify them.
  9014  
  9015  var posix_names = *(*[84]int8)(unsafe.Pointer(ts + 253)) /* pcre2_compile.c:700:19 */
  9016  
  9017  var posix_name_lengths = [15]Tuint8_t{
  9018  	Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(4), Tuint8_t(6), Tuint8_t(0)} /* pcre2_compile.c:706:22 */
  9019  
  9020  // Table of class bit maps for each POSIX class. Each class is formed from a
  9021  // base map, with an optional addition or removal of another map. Then, for some
  9022  // classes, there is some additional tweaking: for [:blank:] the vertical space
  9023  // characters are removed, and for [:alpha:] and [:alnum:] the underscore
  9024  // character is removed. The triples in the table consist of the base map offset,
  9025  // second map offset or -1 if no second map, and a non-negative value for map
  9026  // addition or a negative value for map subtraction (if there are two maps). The
  9027  // absolute value of the third field has these meanings: 0 => no tweaking, 1 =>
  9028  // remove vertical space characters, 2 => remove underscore.
  9029  
  9030  var posix_class_maps = [42]int32{
  9031  	Dcbit_word, Dcbit_digit, -2, // alpha
  9032  	Dcbit_lower, -1, 0, // lower
  9033  	Dcbit_upper, -1, 0, // upper
  9034  	Dcbit_word, -1, 2, // alnum - word without underscore
  9035  	Dcbit_print, Dcbit_cntrl, 0, // ascii
  9036  	Dcbit_space, -1, 1, // blank - a GNU extension
  9037  	Dcbit_cntrl, -1, 0, // cntrl
  9038  	Dcbit_digit, -1, 0, // digit
  9039  	Dcbit_graph, -1, 0, // graph
  9040  	Dcbit_print, -1, 0, // print
  9041  	Dcbit_punct, -1, 0, // punct
  9042  	Dcbit_space, -1, 0, // space
  9043  	Dcbit_word, -1, 0, // word - a Perl extension
  9044  	Dcbit_xdigit, -1, 0, // xdigit
  9045  } /* pcre2_compile.c:723:18 */
  9046  
  9047  // The POSIX class Unicode property substitutes that are used in UCP mode must
  9048  // be in the order of the POSIX class names, defined above.
  9049  
  9050  var posix_substitutes = [28]int32{
  9051  	DPT_GC, ucp_L, // alpha
  9052  	DPT_PC, ucp_Ll, // lower
  9053  	DPT_PC, ucp_Lu, // upper
  9054  	DPT_ALNUM, 0, // alnum
  9055  	-1, 0, // ascii, treat as non-UCP
  9056  	-1, 1, // blank, treat as \h
  9057  	DPT_PC, ucp_Cc, // cntrl
  9058  	DPT_PC, ucp_Nd, // digit
  9059  	DPT_PXGRAPH, 0, // graph
  9060  	DPT_PXPRINT, 0, // print
  9061  	DPT_PXPUNCT, 0, // punct
  9062  	DPT_PXSPACE, 0, /* space */ // Xps is POSIX space, but from 8.34
  9063  	DPT_WORD, 0, /* word  */ // Perl and POSIX space are the same
  9064  	-1, 0, // xdigit, treat as non-UCP
  9065  } /* pcre2_compile.c:745:12 */ // Read integer value for depth limit
  9066  
  9067  type Spso = struct {
  9068  	Fname   uintptr
  9069  	Flength Tuint16_t
  9070  	Ftype   Tuint16_t
  9071  	Fvalue  Tuint32_t
  9072  } /* pcre2_compile.c:822:9 */
  9073  
  9074  // Read integer value for depth limit
  9075  
  9076  type Tpso = Spso /* pcre2_compile.c:827:3 */
  9077  
  9078  // NB: STRING_UTFn_RIGHTPAR contains the length as well
  9079  
  9080  var pso_list = [21]Tpso{
  9081  	{Fname: uintptr(ts + 337), Flength: Tuint16_t(5), Fvalue: DPCRE2_UTF},
  9082  	{Fname: uintptr(ts + 343), Flength: Tuint16_t(4), Fvalue: DPCRE2_UTF},
  9083  	{Fname: uintptr(ts + 348), Flength: Tuint16_t(4), Fvalue: DPCRE2_UCP},
  9084  	{Fname: uintptr(ts + 353), Flength: Tuint16_t(9), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOTEMPTY_SET)},
  9085  	{Fname: uintptr(ts + 363), Flength: Tuint16_t(17), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NE_ATST_SET)},
  9086  	{Fname: uintptr(ts + 381), Flength: Tuint16_t(16), Fvalue: DPCRE2_NO_AUTO_POSSESS},
  9087  	{Fname: uintptr(ts + 398), Flength: Tuint16_t(18), Fvalue: DPCRE2_NO_DOTSTAR_ANCHOR},
  9088  	{Fname: uintptr(ts + 417), Flength: Tuint16_t(7), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOJIT)},
  9089  	{Fname: uintptr(ts + 425), Flength: Tuint16_t(13), Fvalue: DPCRE2_NO_START_OPTIMIZE},
  9090  	{Fname: uintptr(ts + 439), Flength: Tuint16_t(11), Ftype: PSO_LIMH},
  9091  	{Fname: uintptr(ts + 451), Flength: Tuint16_t(12), Ftype: PSO_LIMM},
  9092  	{Fname: uintptr(ts + 464), Flength: Tuint16_t(12), Ftype: PSO_LIMD},
  9093  	{Fname: uintptr(ts + 477), Flength: Tuint16_t(16), Ftype: PSO_LIMD},
  9094  	{Fname: uintptr(ts + 494), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CR)},
  9095  	{Fname: uintptr(ts + 498), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_LF)},
  9096  	{Fname: uintptr(ts + 502), Flength: Tuint16_t(5), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CRLF)},
  9097  	{Fname: uintptr(ts + 508), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANY)},
  9098  	{Fname: uintptr(ts + 513), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_NUL)},
  9099  	{Fname: uintptr(ts + 518), Flength: Tuint16_t(8), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANYCRLF)},
  9100  	{Fname: uintptr(ts + 527), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_ANYCRLF)},
  9101  	{Fname: uintptr(ts + 540), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_UNICODE)},
  9102  } /* pcre2_compile.c:831:12 */
  9103  
  9104  // This table is used when converting repeating opcodes into possessified
  9105  // versions as a result of an explicit possessive quantifier such as ++. A zero
  9106  // value means there is no possessified version - in those cases the item in
  9107  // question must be wrapped in ONCE brackets. The table is truncated at OP_CALLOUT
  9108  // because all relevant opcodes are less than that.
  9109  
  9110  var opcode_possessify = [119]Tuint8_t{
  9111  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 0 - 15
  9112  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 16 - 31
  9113  
  9114  	Tuint8_t(0),             // NOTI
  9115  	OP_POSSTAR, Tuint8_t(0), // STAR, MINSTAR
  9116  	OP_POSPLUS, Tuint8_t(0), // PLUS, MINPLUS
  9117  	OP_POSQUERY, Tuint8_t(0), // QUERY, MINQUERY
  9118  	OP_POSUPTO, Tuint8_t(0), // UPTO, MINUPTO
  9119  	Tuint8_t(0),                                        // EXACT
  9120  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STAR,PLUS,QUERY,UPTO}
  9121  
  9122  	OP_POSSTARI, Tuint8_t(0), // STARI, MINSTARI
  9123  	OP_POSPLUSI, Tuint8_t(0), // PLUSI, MINPLUSI
  9124  	OP_POSQUERYI, Tuint8_t(0), // QUERYI, MINQUERYI
  9125  	OP_POSUPTOI, Tuint8_t(0), // UPTOI, MINUPTOI
  9126  	Tuint8_t(0),                                        // EXACTI
  9127  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STARI,PLUSI,QUERYI,UPTOI}
  9128  
  9129  	OP_NOTPOSSTAR, Tuint8_t(0), // NOTSTAR, NOTMINSTAR
  9130  	OP_NOTPOSPLUS, Tuint8_t(0), // NOTPLUS, NOTMINPLUS
  9131  	OP_NOTPOSQUERY, Tuint8_t(0), // NOTQUERY, NOTMINQUERY
  9132  	OP_NOTPOSUPTO, Tuint8_t(0), // NOTUPTO, NOTMINUPTO
  9133  	Tuint8_t(0),                                        // NOTEXACT
  9134  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STAR,PLUS,QUERY,UPTO}
  9135  
  9136  	OP_NOTPOSSTARI, Tuint8_t(0), // NOTSTARI, NOTMINSTARI
  9137  	OP_NOTPOSPLUSI, Tuint8_t(0), // NOTPLUSI, NOTMINPLUSI
  9138  	OP_NOTPOSQUERYI, Tuint8_t(0), // NOTQUERYI, NOTMINQUERYI
  9139  	OP_NOTPOSUPTOI, Tuint8_t(0), // NOTUPTOI, NOTMINUPTOI
  9140  	Tuint8_t(0),                                        // NOTEXACTI
  9141  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STARI,PLUSI,QUERYI,UPTOI}
  9142  
  9143  	OP_TYPEPOSSTAR, Tuint8_t(0), // TYPESTAR, TYPEMINSTAR
  9144  	OP_TYPEPOSPLUS, Tuint8_t(0), // TYPEPLUS, TYPEMINPLUS
  9145  	OP_TYPEPOSQUERY, Tuint8_t(0), // TYPEQUERY, TYPEMINQUERY
  9146  	OP_TYPEPOSUPTO, Tuint8_t(0), // TYPEUPTO, TYPEMINUPTO
  9147  	Tuint8_t(0),                                        // TYPEEXACT
  9148  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // TYPEPOS{STAR,PLUS,QUERY,UPTO}
  9149  
  9150  	OP_CRPOSSTAR, Tuint8_t(0), // CRSTAR, CRMINSTAR
  9151  	OP_CRPOSPLUS, Tuint8_t(0), // CRPLUS, CRMINPLUS
  9152  	OP_CRPOSQUERY, Tuint8_t(0), // CRQUERY, CRMINQUERY
  9153  	OP_CRPOSRANGE, Tuint8_t(0), // CRRANGE, CRMINRANGE
  9154  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CRPOS{STAR,PLUS,QUERY,RANGE}
  9155  
  9156  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLASS, NCLASS, XCLASS
  9157  	Tuint8_t(0), Tuint8_t(0), // REF, REFI
  9158  	Tuint8_t(0), Tuint8_t(0), // DNREF, DNREFI
  9159  	Tuint8_t(0), Tuint8_t(0), // RECURSE, CALLOUT
  9160  } /* pcre2_compile.c:861:22 */
  9161  
  9162  // ************************************************
  9163  //
  9164  //               Copy compiled code               *
  9165  //
  9166  
  9167  // Compiled JIT code cannot be copied, so the new compiled block has no
  9168  // associated JIT data.
  9169  
  9170  func Xpcre2_code_copy_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1193:27: */
  9171  	var ref_count uintptr
  9172  	var newcode uintptr
  9173  
  9174  	if code == uintptr(0) {
  9175  		return uintptr(0)
  9176  	}
  9177  	newcode = (*struct {
  9178  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9179  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9180  	if newcode == uintptr(0) {
  9181  		return uintptr(0)
  9182  	}
  9183  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9184  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9185  
  9186  	// If the code is one that has been deserialized, increment the reference count
  9187  	// in the decoded tables.
  9188  
  9189  	if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9190  		ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9191  		*(*Tsize_t)(unsafe.Pointer(ref_count))++
  9192  	}
  9193  
  9194  	return newcode
  9195  }
  9196  
  9197  // ************************************************
  9198  //
  9199  //     Copy compiled code and character tables    *
  9200  //
  9201  
  9202  // Compiled JIT code cannot be copied, so the new compiled block has no
  9203  // associated JIT data. This version of code_copy also makes a separate copy of
  9204  // the character tables.
  9205  
  9206  func Xpcre2_code_copy_with_tables_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1227:27: */
  9207  	var ref_count uintptr
  9208  	var newcode uintptr
  9209  	var newtables uintptr
  9210  
  9211  	if code == uintptr(0) {
  9212  		return uintptr(0)
  9213  	}
  9214  	newcode = (*struct {
  9215  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9216  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9217  	if newcode == uintptr(0) {
  9218  		return uintptr(0)
  9219  	}
  9220  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9221  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9222  
  9223  	newtables = (*struct {
  9224  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9225  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))),
  9226  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9227  	if newtables == uintptr(0) {
  9228  		(*struct {
  9229  			f func(*libc.TLS, uintptr, uintptr)
  9230  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, newcode, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9231  		return uintptr(0)
  9232  	}
  9233  	libc.Xmemcpy(tls, newtables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, uint64(Dcbits_offset+Dcbit_length+256))
  9234  	ref_count = newtables + uintptr(Dcbits_offset+Dcbit_length+256)
  9235  	*(*Tsize_t)(unsafe.Pointer(ref_count)) = uint64(1)
  9236  
  9237  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Ftables = newtables
  9238  	*(*Tuint32_t)(unsafe.Pointer(newcode + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
  9239  	return newcode
  9240  }
  9241  
  9242  // ************************************************
  9243  //
  9244  //               Free compiled code               *
  9245  //
  9246  
  9247  func Xpcre2_code_free_8(tls *libc.TLS, code uintptr) { /* pcre2_compile.c:1263:1: */
  9248  	var ref_count uintptr
  9249  
  9250  	if code != uintptr(0) {
  9251  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit != uintptr(0) {
  9252  			X_pcre2_jit_free_8(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit, code)
  9253  		}
  9254  
  9255  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9256  			// Decoded tables belong to the codes after deserialization, and they must
  9257  			//     be freed when there are no more references to them. The *ref_count should
  9258  			//     always be > 0.
  9259  
  9260  			ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9261  			if *(*Tsize_t)(unsafe.Pointer(ref_count)) > uint64(0) {
  9262  				*(*Tsize_t)(unsafe.Pointer(ref_count))--
  9263  				if *(*Tsize_t)(unsafe.Pointer(ref_count)) == uint64(0) {
  9264  					(*struct {
  9265  						f func(*libc.TLS, uintptr, uintptr)
  9266  					})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9267  				}
  9268  			}
  9269  		}
  9270  
  9271  		(*struct {
  9272  			f func(*libc.TLS, uintptr, uintptr)
  9273  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9274  	}
  9275  }
  9276  
  9277  // ************************************************
  9278  //
  9279  //         Read a number, possibly signed         *
  9280  //
  9281  
  9282  // This function is used to read numbers in the pattern. The initial pointer
  9283  // must be the sign or first digit of the number. When relative values (introduced
  9284  // by + or -) are allowed, they are relative group numbers, and the result must be
  9285  // greater than zero.
  9286  //
  9287  // Arguments:
  9288  //   ptrptr      points to the character pointer variable
  9289  //   ptrend      points to the end of the input string
  9290  //   allow_sign  if < 0, sign not allowed; if >= 0, sign is relative to this
  9291  //   max_value   the largest number allowed
  9292  //   max_error   the error to give for an over-large number
  9293  //   intptr      where to put the result
  9294  //   errcodeptr  where to put an error code
  9295  //
  9296  // Returns:      TRUE  - a number was read
  9297  //               FALSE - errorcode == 0 => no number was found
  9298  //                       errorcode != 0 => an error occurred
  9299  
  9300  func read_number(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, allow_sign Tint32_t, max_value Tuint32_t, max_error Tuint32_t, intptr uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1317:1: */
  9301  	var sign int32
  9302  	var n Tuint32_t
  9303  	var ptr TPCRE2_SPTR8
  9304  	var yield TBOOL
  9305  	sign = 0
  9306  	n = Tuint32_t(0)
  9307  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9308  	yield = DFALSE
  9309  
  9310  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9311  
  9312  	if !(allow_sign >= 0 && ptr < ptrend) {
  9313  		goto __1
  9314  	}
  9315  
  9316  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\053') {
  9317  		goto __2
  9318  	}
  9319  
  9320  	sign = +1
  9321  	max_value = max_value - Tuint32_t(allow_sign)
  9322  	ptr++
  9323  	goto __3
  9324  __2:
  9325  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\055') {
  9326  		goto __4
  9327  	}
  9328  
  9329  	sign = -1
  9330  	ptr++
  9331  __4:
  9332  	;
  9333  __3:
  9334  	;
  9335  __1:
  9336  	;
  9337  
  9338  	if !(ptr >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9339  		goto __5
  9340  	}
  9341  	return DFALSE
  9342  __5:
  9343  	;
  9344  __6:
  9345  	if !(ptr < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9346  		goto __7
  9347  	}
  9348  
  9349  	n = n*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) - Tuint32_t('\060')
  9350  	if !(n > max_value) {
  9351  		goto __8
  9352  	}
  9353  
  9354  	*(*int32)(unsafe.Pointer(errorcodeptr)) = int32(max_error)
  9355  	goto EXIT
  9356  __8:
  9357  	;
  9358  	goto __6
  9359  __7:
  9360  	;
  9361  
  9362  	if !(allow_sign >= 0 && sign != 0) {
  9363  		goto __9
  9364  	}
  9365  
  9366  	if !(n == Tuint32_t(0)) {
  9367  		goto __10
  9368  	}
  9369  
  9370  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR26 // +0 and -0 are not allowed
  9371  	goto EXIT
  9372  __10:
  9373  	;
  9374  
  9375  	if !(sign > 0) {
  9376  		goto __11
  9377  	}
  9378  	n = n + Tuint32_t(allow_sign)
  9379  	goto __12
  9380  __11:
  9381  	if !(int32(n) > allow_sign) {
  9382  		goto __13
  9383  	}
  9384  
  9385  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
  9386  	goto EXIT
  9387  	goto __14
  9388  __13:
  9389  	n = Tuint32_t(allow_sign+1) - n
  9390  __14:
  9391  	;
  9392  __12:
  9393  	;
  9394  __9:
  9395  	;
  9396  
  9397  	yield = DTRUE
  9398  
  9399  EXIT:
  9400  	*(*int32)(unsafe.Pointer(intptr)) = int32(n)
  9401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
  9402  	return yield
  9403  }
  9404  
  9405  // ************************************************
  9406  //
  9407  //         Read repeat counts                     *
  9408  //
  9409  
  9410  // Read an item of the form {n,m} and return the values if non-NULL pointers
  9411  // are supplied. Repeat counts must be less than 65536 (MAX_REPEAT_COUNT); a
  9412  // larger value is used for "unlimited". We have to use signed arguments for
  9413  // read_number() because it is capable of returning a signed value.
  9414  //
  9415  // Arguments:
  9416  //   ptrptr         points to pointer to character after'{'
  9417  //   ptrend         pointer to end of input
  9418  //   minp           if not NULL, pointer to int for min
  9419  //   maxp           if not NULL, pointer to int for max (-1 if no max)
  9420  //                  returned as -1 if no max
  9421  //   errorcodeptr   points to error code variable
  9422  //
  9423  // Returns:         FALSE if not a repeat quantifier, errorcode set zero
  9424  //                  FALSE on error, with errorcode set non-zero
  9425  //                  TRUE on success, with pointer updated to point after '}'
  9426  
  9427  func read_repeat_counts(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, minp uintptr, maxp uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1403:1: */
  9428  	bp := tls.Alloc(16)
  9429  	defer tls.Free(16)
  9430  
  9431  	// var p TPCRE2_SPTR8 at bp, 8
  9432  
  9433  	var yield TBOOL
  9434  	var had_comma TBOOL
  9435  	// var min Tint32_t at bp+8, 4
  9436  
  9437  	// var max Tint32_t at bp+12, 4
  9438  
  9439  	var c Tuint32_t
  9440  	yield = DFALSE
  9441  	had_comma = DFALSE
  9442  	*(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)) = 0
  9443  	*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = int32(DMAX_REPEAT_COUNT + uint32(1)) // This value is larger than MAX_REPEAT_COUNT
  9444  
  9445  	// Check the syntax
  9446  
  9447  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9448  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9449  __1:
  9450  	;
  9451  
  9452  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) >= ptrend) {
  9453  		goto __4
  9454  	}
  9455  	return DFALSE
  9456  __4:
  9457  	;
  9458  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)))))
  9459  	if !(c >= Tuint32_t('\060') && c <= Tuint32_t('\071')) {
  9460  		goto __5
  9461  	}
  9462  	goto __2
  9463  __5:
  9464  	;
  9465  	if !(c == Tuint32_t('\175')) {
  9466  		goto __6
  9467  	}
  9468  	goto __3
  9469  __6:
  9470  	;
  9471  	if !(c == Tuint32_t('\054')) {
  9472  		goto __7
  9473  	}
  9474  
  9475  	if !(had_comma != 0) {
  9476  		goto __9
  9477  	}
  9478  	return DFALSE
  9479  __9:
  9480  	;
  9481  	had_comma = DTRUE
  9482  	goto __8
  9483  __7:
  9484  	return DFALSE
  9485  __8:
  9486  	;
  9487  	goto __2
  9488  __2:
  9489  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9490  	goto __1
  9491  	goto __3
  9492  __3:
  9493  	;
  9494  
  9495  	// The only error from read_number() is for a number that is too big.
  9496  
  9497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9498  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+8, errorcodeptr) != 0) {
  9499  		goto __10
  9500  	}
  9501  	goto EXIT
  9502  __10:
  9503  	;
  9504  
  9505  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
  9506  		goto __11
  9507  	}
  9508  
  9509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9510  	*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = *(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */))
  9511  	goto __12
  9512  __11:
  9513  
  9514  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)), 1)))) != '\175') {
  9515  		goto __13
  9516  	}
  9517  
  9518  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+12,
  9519  		errorcodeptr) != 0) {
  9520  		goto __14
  9521  	}
  9522  	goto EXIT
  9523  __14:
  9524  	;
  9525  	if !(*(*Tint32_t)(unsafe.Pointer(bp + 12)) < *(*Tint32_t)(unsafe.Pointer(bp + 8))) {
  9526  		goto __15
  9527  	}
  9528  
  9529  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR4
  9530  	goto EXIT
  9531  __15:
  9532  	;
  9533  __13:
  9534  	;
  9535  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9536  __12:
  9537  	;
  9538  
  9539  	yield = DTRUE
  9540  	if !(minp != uintptr(0)) {
  9541  		goto __16
  9542  	}
  9543  	*(*Tuint32_t)(unsafe.Pointer(minp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)))
  9544  __16:
  9545  	;
  9546  	if !(maxp != uintptr(0)) {
  9547  		goto __17
  9548  	}
  9549  	*(*Tuint32_t)(unsafe.Pointer(maxp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)))
  9550  __17:
  9551  	;
  9552  
  9553  	// Update the pattern pointer
  9554  
  9555  EXIT:
  9556  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))
  9557  	return yield
  9558  }
  9559  
  9560  // ************************************************
  9561  //
  9562  //            Handle escapes                      *
  9563  //
  9564  
  9565  // This function is called when a \ has been encountered. It either returns a
  9566  // positive value for a simple escape such as \d, or 0 for a data character, which
  9567  // is placed in chptr. A backreference to group n is returned as negative n. On
  9568  // entry, ptr is pointing at the character after \. On exit, it points after the
  9569  // final code unit of the escape sequence.
  9570  //
  9571  // This function is also called from pcre2_substitute() to handle escape sequences
  9572  // in replacement strings. In this case, the cb argument is NULL, and in the case
  9573  // of escapes that have further processing, only sequences that define a data
  9574  // character are recognised. The isclass argument is not relevant; the options
  9575  // argument is the final value of the compiled pattern's options.
  9576  //
  9577  // Arguments:
  9578  //   ptrptr         points to the input position pointer
  9579  //   ptrend         points to the end of the input
  9580  //   chptr          points to a returned data character
  9581  //   errorcodeptr   points to the errorcode variable (containing zero)
  9582  //   options        the current options bits
  9583  //   isclass        TRUE if inside a character class
  9584  //   cb             compile data block or NULL when called from pcre2_substitute()
  9585  //
  9586  // Returns:         zero => a data character
  9587  //                  positive => a special escape sequence
  9588  //                  negative => a numerical back reference
  9589  //                  on error, errorcodeptr is set non-zero
  9590  
  9591  func X_pcre2_check_escape_8(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, chptr uintptr, errorcodeptr uintptr, options Tuint32_t, extra_options Tuint32_t, isclass TBOOL, cb uintptr) int32 { /* pcre2_compile.c:1502:1: */
  9592  	bp := tls.Alloc(32)
  9593  	defer tls.Free(32)
  9594  
  9595  	var utf TBOOL
  9596  	// var ptr TPCRE2_SPTR8 at bp+24, 8
  9597  
  9598  	var c Tuint32_t
  9599  	var cc Tuint32_t
  9600  	var escape int32
  9601  	var i int32
  9602  	// var p TPCRE2_SPTR8 at bp, 8
  9603  
  9604  	var hptr TPCRE2_SPTR8
  9605  	var xc Tuint32_t
  9606  	// var p1 TPCRE2_SPTR8 at bp+8, 8
  9607  
  9608  	var xc1 Tuint32_t
  9609  	// var s int32 at bp+16, 4
  9610  
  9611  	var oldptr TPCRE2_SPTR8
  9612  	var overflow TBOOL
  9613  	var alt_bsux TBOOL
  9614  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
  9615  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9616  	escape = 0
  9617  
  9618  	// If backslash is at the end of the string, it's an error.
  9619  
  9620  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
  9621  		goto __1
  9622  	}
  9623  
  9624  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR1
  9625  	return 0
  9626  __1:
  9627  	;
  9628  
  9629  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1))))
  9630  	if !(utf != 0 && c >= 0xc0) {
  9631  		goto __2
  9632  	}
  9633  	if !(c&0x20 == Tuint32_t(0)) {
  9634  		goto __3
  9635  	}
  9636  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1))))&0x3f
  9637  	goto __4
  9638  __3:
  9639  	if !(c&0x10 == Tuint32_t(0)) {
  9640  		goto __5
  9641  	}
  9642  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f
  9643  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2)
  9644  	goto __6
  9645  __5:
  9646  	if !(c&0x08 == Tuint32_t(0)) {
  9647  		goto __7
  9648  	}
  9649  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f
  9650  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(3)
  9651  	goto __8
  9652  __7:
  9653  	if !(c&0x04 == Tuint32_t(0)) {
  9654  		goto __9
  9655  	}
  9656  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f
  9657  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4)
  9658  	goto __10
  9659  __9:
  9660  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 4)))&0x3f
  9661  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(5)
  9662  __10:
  9663  	;
  9664  __8:
  9665  	;
  9666  __6:
  9667  	;
  9668  __4:
  9669  	;
  9670  __2:
  9671  	;
  9672  
  9673  	// Get character value, increment pointer
  9674  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0 // Be optimistic
  9675  
  9676  	// Non-alphanumerics are literals, so we just leave the value in c. An initial
  9677  	// value test saves a memory lookup for code points outside the alphanumeric
  9678  	// range.
  9679  
  9680  	if !(c < Tuint32_t('\060') || c > Tuint32_t('\172')) {
  9681  		goto __11
  9682  	}
  9683  	goto __12
  9684  __11:
  9685  	if !(libc.AssignInt32(&i, int32(escapes[c-Tuint32_t('\060')])) != 0) {
  9686  		goto __13
  9687  	}
  9688  
  9689  	if !(i > 0) {
  9690  		goto __15
  9691  	}
  9692  
  9693  	c = Tuint32_t(i)
  9694  	if !(c == Tuint32_t('\015') && extra_options&DPCRE2_EXTRA_ESCAPED_CR_IS_LF != Tuint32_t(0)) {
  9695  		goto __17
  9696  	}
  9697  	c = Tuint32_t('\012')
  9698  __17:
  9699  	;
  9700  	goto __16
  9701  __15: /* Negative table entry */
  9702  
  9703  	escape = -i // Else return a special escape
  9704  	if !(cb != uintptr(0) && (escape == ESC_P || escape == ESC_p || escape == ESC_X)) {
  9705  		goto __18
  9706  	}
  9707  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKPORX)
  9708  __18:
  9709  	; // Note \P, \p, or \X
  9710  
  9711  	// Perl supports \N{name} for character names and \N{U+dddd} for numerical
  9712  	//     Unicode code points, as well as plain \N for "not newline". PCRE does not
  9713  	//     support \N{name}. However, it does support quantification such as \N{2,3},
  9714  	//     so if \N{ is not followed by U+dddd we check for a quantifier.
  9715  
  9716  	if !(escape == ESC_N && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
  9717  		goto __19
  9718  	}
  9719  
  9720  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
  9721  
  9722  	// \N{U+ can be handled by the \x{ code. However, this construction is
  9723  	//       not valid in EBCDIC environments because it specifies a Unicode
  9724  	//       character, not a codepoint in the local code. For example \N{U+0041}
  9725  	//       must be "A" in all environments. Also, in Perl, \N{U+ forces Unicode
  9726  	//       casing semantics for the entire pattern, so allow it only in UTF (i.e.
  9727  	//       Unicode) mode.
  9728  
  9729  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\125' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\053') {
  9730  		goto __20
  9731  	}
  9732  
  9733  	if !(utf != 0) {
  9734  		goto __22
  9735  	}
  9736  
  9737  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + uintptr(1)
  9738  	escape = 0 // Not a fancy escape after all
  9739  	goto COME_FROM_NU
  9740  	goto __23
  9741  __22:
  9742  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR93
  9743  __23:
  9744  	;
  9745  	goto __21
  9746  __20:
  9747  
  9748  	if !(!(read_repeat_counts(tls, bp, ptrend, uintptr(0), uintptr(0), errorcodeptr) != 0) && *(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
  9749  		goto __24
  9750  	}
  9751  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9752  __24:
  9753  	;
  9754  __21:
  9755  	;
  9756  __19:
  9757  	;
  9758  __16:
  9759  	;
  9760  	goto __14
  9761  __13:
  9762  	alt_bsux =
  9763  		libc.Bool32(options&DPCRE2_ALT_BSUX|extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0))
  9764  
  9765  	// Filter calls from pcre2_substitute().
  9766  
  9767  	if !(cb == uintptr(0)) {
  9768  		goto __25
  9769  	}
  9770  
  9771  	if !(c != Tuint32_t('\143') && c != Tuint32_t('\157') && c != Tuint32_t('\170')) {
  9772  		goto __26
  9773  	}
  9774  
  9775  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
  9776  	return 0
  9777  __26:
  9778  	;
  9779  	alt_bsux = DFALSE // Do not modify \x handling
  9780  __25:
  9781  	;
  9782  
  9783  	switch c {
  9784  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9785  	//     error.
  9786  
  9787  	case Tuint32_t('\106'):
  9788  		goto __28
  9789  	case Tuint32_t('\154'):
  9790  		goto __29
  9791  	case Tuint32_t('\114'):
  9792  		goto __30
  9793  
  9794  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9795  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9796  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9797  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9798  	//     ECMAScript (aka JavaScript).
  9799  
  9800  	case Tuint32_t('\165'):
  9801  		goto __31
  9802  
  9803  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
  9804  	//     in which case it is an upper case letter.
  9805  
  9806  	case Tuint32_t('\125'):
  9807  		goto __32
  9808  
  9809  	// In a character class, \g is just a literal "g". Outside a character
  9810  	//     class, \g must be followed by one of a number of specific things:
  9811  	//
  9812  	//     (1) A number, either plain or braced. If positive, it is an absolute
  9813  	//     backreference. If negative, it is a relative backreference. This is a Perl
  9814  	//     5.10 feature.
  9815  	//
  9816  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
  9817  	//     is part of Perl's movement towards a unified syntax for back references. As
  9818  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
  9819  	//     was \k{name}.
  9820  	//
  9821  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
  9822  	//     number either in angle brackets or in single quotes. However, these are
  9823  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
  9824  	//     the ESC_g code.
  9825  	//
  9826  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
  9827  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
  9828  	//
  9829  
  9830  	case Tuint32_t('\147'):
  9831  		goto __33
  9832  
  9833  	// The handling of escape sequences consisting of a string of digits
  9834  	//     starting with one that is not zero is not straightforward. Perl has changed
  9835  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
  9836  	//     recommended to avoid the ambiguities in the old syntax.
  9837  	//
  9838  	//     Outside a character class, the digits are read as a decimal number. If the
  9839  	//     number is less than 10, or if there are that many previous extracting left
  9840  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
  9841  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
  9842  	//     (cf \0123, which is octal 012 followed by the literal 3).
  9843  	//
  9844  	//     Inside a character class, \ followed by a digit is always either a literal
  9845  	//     8 or 9 or an octal number.
  9846  
  9847  	case Tuint32_t('\061'):
  9848  		goto __34
  9849  	case Tuint32_t('\062'):
  9850  		goto __35
  9851  	case Tuint32_t('\063'):
  9852  		goto __36
  9853  	case Tuint32_t('\064'):
  9854  		goto __37
  9855  	case Tuint32_t('\065'):
  9856  		goto __38
  9857  	case Tuint32_t('\066'):
  9858  		goto __39
  9859  	case Tuint32_t('\067'):
  9860  		goto __40
  9861  	case Tuint32_t('\070'):
  9862  		goto __41
  9863  	case Tuint32_t('\071'):
  9864  		goto __42
  9865  
  9866  	// Fall through
  9867  
  9868  	// \0 always starts an octal number, but we may drop through to here with a
  9869  	//     larger first octal digit. The original code used just to take the least
  9870  	//     significant 8 bits of octal numbers (I think this is what early Perls used
  9871  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
  9872  	//     but no more than 3 octal digits.
  9873  
  9874  	case Tuint32_t('\060'):
  9875  		goto __43
  9876  
  9877  	// \o is a relatively new Perl feature, supporting a more general way of
  9878  	//     specifying character codes in octal. The only supported form is \o{ddd}.
  9879  
  9880  	case Tuint32_t('\157'):
  9881  		goto __44
  9882  
  9883  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
  9884  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
  9885  
  9886  	case Tuint32_t('\170'):
  9887  		goto __45
  9888  
  9889  	// The handling of \c is different in ASCII and EBCDIC environments. In an
  9890  	//     ASCII (or Unicode) environment, an error is given if the character
  9891  	//     following \c is not a printable ASCII character. Otherwise, the following
  9892  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
  9893  	//     flipped. The result is the value of the escape.
  9894  	//
  9895  	//     In an EBCDIC environment the handling of \c is compatible with the
  9896  	//     specification in the perlebcdic document. The following character must be
  9897  	//     a letter or one of small number of special characters. These provide a
  9898  	//     means of defining the character values 0-31.
  9899  	//
  9900  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
  9901  	//     the EBCDIC value of 'c' explicitly.
  9902  
  9903  	case Tuint32_t('\143'):
  9904  		goto __46
  9905  
  9906  	// Any other alphanumeric following \ is an error. Perl gives an error only
  9907  	//     if in warning mode, but PCRE doesn't have a warning mode.
  9908  
  9909  	default:
  9910  		goto __47
  9911  	}
  9912  	goto __27
  9913  
  9914  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9915  	//     error.
  9916  
  9917  __28:
  9918  __29:
  9919  __30:
  9920  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9921  	goto __27
  9922  
  9923  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9924  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9925  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9926  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9927  	//     ECMAScript (aka JavaScript).
  9928  
  9929  __31:
  9930  	if !!(alt_bsux != 0) {
  9931  		goto __48
  9932  	}
  9933  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9934  	goto __49
  9935  __48:
  9936  
  9937  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
  9938  		goto __50
  9939  	}
  9940  	goto __27
  9941  __50:
  9942  	;
  9943  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173' && extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0)) {
  9944  		goto __51
  9945  	}
  9946  
  9947  	hptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
  9948  	cc = Tuint32_t(0)
  9949  
  9950  __53:
  9951  	if !(hptr < ptrend && libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))])) != Tuint32_t(0xff)) {
  9952  		goto __54
  9953  	}
  9954  
  9955  	if !(cc&0xf0000000 != Tuint32_t(0)) {
  9956  		goto __55
  9957  	} /* Test for 32-bit overflow */
  9958  
  9959  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
  9960  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr // Show where
  9961  	goto __54                                                  // *hptr != } will cause another break below
  9962  __55:
  9963  	;
  9964  	cc = cc<<4 | xc
  9965  	hptr++
  9966  	goto __53
  9967  __54:
  9968  	;
  9969  
  9970  	if !(hptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))+uintptr(1) || hptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))) != '\175') {
  9971  		goto __56
  9972  	} // No } terminator
  9973  	goto __27
  9974  __56:
  9975  	; // Hex escape not recognized
  9976  
  9977  	c = cc // Accept the code point
  9978  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr + uintptr(1)
  9979  	goto __52
  9980  __51: /* Must be exactly 4 hex digits */
  9981  
  9982  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(4)) {
  9983  		goto __57
  9984  	}
  9985  	goto __27
  9986  __57:
  9987  	; // Less than 4 chars
  9988  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
  9989  		goto __58
  9990  	}
  9991  	goto __27
  9992  __58:
  9993  	; // Not a hex digit
  9994  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) {
  9995  		goto __59
  9996  	}
  9997  	goto __27
  9998  __59:
  9999  	; // Not a hex digit
 10000  	cc = cc<<4 | xc
 10001  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2))])) == Tuint32_t(0xff)) {
 10002  		goto __60
 10003  	}
 10004  	goto __27
 10005  __60:
 10006  	; // Not a hex digit
 10007  	cc = cc<<4 | xc
 10008  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3))])) == Tuint32_t(0xff)) {
 10009  		goto __61
 10010  	}
 10011  	goto __27
 10012  __61:
 10013  	; // Not a hex digit
 10014  	c = cc<<4 | xc
 10015  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4)
 10016  __52:
 10017  	;
 10018  
 10019  	if !(utf != 0) {
 10020  		goto __62
 10021  	}
 10022  
 10023  	if !(c > 0x10ffff) {
 10024  		goto __64
 10025  	}
 10026  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10027  	goto __65
 10028  __64:
 10029  	if !(c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10030  		goto __66
 10031  	}
 10032  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10033  __66:
 10034  	;
 10035  __65:
 10036  	;
 10037  	goto __63
 10038  __62:
 10039  	if !(c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10040  		goto __67
 10041  	}
 10042  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10043  __67:
 10044  	;
 10045  __63:
 10046  	;
 10047  __49:
 10048  	;
 10049  	goto __27
 10050  
 10051  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
 10052  	//     in which case it is an upper case letter.
 10053  
 10054  __32:
 10055  	if !!(alt_bsux != 0) {
 10056  		goto __68
 10057  	}
 10058  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
 10059  __68:
 10060  	;
 10061  	goto __27
 10062  
 10063  	// In a character class, \g is just a literal "g". Outside a character
 10064  	//     class, \g must be followed by one of a number of specific things:
 10065  	//
 10066  	//     (1) A number, either plain or braced. If positive, it is an absolute
 10067  	//     backreference. If negative, it is a relative backreference. This is a Perl
 10068  	//     5.10 feature.
 10069  	//
 10070  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
 10071  	//     is part of Perl's movement towards a unified syntax for back references. As
 10072  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
 10073  	//     was \k{name}.
 10074  	//
 10075  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
 10076  	//     number either in angle brackets or in single quotes. However, these are
 10077  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
 10078  	//     the ESC_g code.
 10079  	//
 10080  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
 10081  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
 10082  	//
 10083  
 10084  __33:
 10085  	if !(isclass != 0) {
 10086  		goto __69
 10087  	}
 10088  	goto __27
 10089  __69:
 10090  	;
 10091  
 10092  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
 10093  		goto __70
 10094  	}
 10095  
 10096  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10097  	goto __27
 10098  __70:
 10099  	;
 10100  
 10101  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\074' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\047') {
 10102  		goto __71
 10103  	}
 10104  
 10105  	escape = ESC_g
 10106  	goto __27
 10107  __71:
 10108  	;
 10109  
 10110  	// If there is a brace delimiter, try to read a numerical reference. If
 10111  	//     there isn't one, assume we have a name and treat it as \k.
 10112  
 10113  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
 10114  		goto __72
 10115  	}
 10116  
 10117  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* p1 */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
 10118  	if !!(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16,
 10119  		errorcodeptr) != 0) {
 10120  		goto __74
 10121  	}
 10122  
 10123  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10124  		goto __75
 10125  	}
 10126  	escape = ESC_k
 10127  __75:
 10128  	; // No number found
 10129  	goto __27
 10130  __74:
 10131  	;
 10132  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\175') {
 10133  		goto __76
 10134  	}
 10135  
 10136  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10137  	goto __27
 10138  __76:
 10139  	;
 10140  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)
 10141  	goto __73
 10142  __72:
 10143  
 10144  	if !!(read_number(tls, bp+24, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16,
 10145  		errorcodeptr) != 0) {
 10146  		goto __77
 10147  	}
 10148  
 10149  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10150  		goto __78
 10151  	}
 10152  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10153  __78:
 10154  	; // No number found
 10155  	goto __27
 10156  __77:
 10157  	;
 10158  __73:
 10159  	;
 10160  
 10161  	if !(*(*int32)(unsafe.Pointer(bp + 16)) <= 0) {
 10162  		goto __79
 10163  	}
 10164  
 10165  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 10166  	goto __27
 10167  __79:
 10168  	;
 10169  
 10170  	escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */))
 10171  	goto __27
 10172  
 10173  	// The handling of escape sequences consisting of a string of digits
 10174  	//     starting with one that is not zero is not straightforward. Perl has changed
 10175  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
 10176  	//     recommended to avoid the ambiguities in the old syntax.
 10177  	//
 10178  	//     Outside a character class, the digits are read as a decimal number. If the
 10179  	//     number is less than 10, or if there are that many previous extracting left
 10180  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
 10181  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
 10182  	//     (cf \0123, which is octal 012 followed by the literal 3).
 10183  	//
 10184  	//     Inside a character class, \ followed by a digit is always either a literal
 10185  	//     8 or 9 or an octal number.
 10186  
 10187  __34:
 10188  __35:
 10189  __36:
 10190  __37:
 10191  __38:
 10192  __39:
 10193  __40:
 10194  __41:
 10195  __42:
 10196  
 10197  	if !!(isclass != 0) {
 10198  		goto __80
 10199  	}
 10200  
 10201  	oldptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))
 10202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- // Back to the digit
 10203  
 10204  	// As we know we are at a digit, the only possible error from
 10205  	//       read_number() is a number that is too large to be a group number. In this
 10206  	//       case we fall through handle this as not a group reference. If we have
 10207  	//       read a small enough number, check for a back reference.
 10208  	//
 10209  	//       \1 to \9 are always back references. \8x and \9x are too; \1x to \7x
 10210  	//       are octal escapes if there are not that many previous captures.
 10211  
 10212  	if !(read_number(tls, bp+24, ptrend, -1, uint32(0x7fffffff/10-1), uint32(0), bp+16, errorcodeptr) != 0 && (*(*int32)(unsafe.Pointer(bp + 16)) < 10 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(oldptr + libc.UintptrFromInt32(-1)))) >= '\070' || *(*int32)(unsafe.Pointer(bp + 16)) <= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount))) {
 10213  		goto __81
 10214  	}
 10215  
 10216  	if !(*(*int32)(unsafe.Pointer(bp + 16)) > int32(DMAX_GROUP_NUMBER)) {
 10217  		goto __82
 10218  	}
 10219  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 10220  	goto __83
 10221  __82:
 10222  	escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */))
 10223  __83:
 10224  	; // Indicates a back reference
 10225  	goto __27
 10226  __81:
 10227  	;
 10228  
 10229  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = oldptr // Put the pointer back and fall through
 10230  __80:
 10231  	;
 10232  
 10233  	// Handle a digit following \ when the number is not a back reference, or
 10234  	//     we are within a character class. If the first digit is 8 or 9, Perl used to
 10235  	//     generate a binary zero and then treat the digit as a following literal. At
 10236  	//     least by Perl 5.18 this changed so as not to insert the binary zero.
 10237  
 10238  	if !(c >= Tuint32_t('\070')) {
 10239  		goto __84
 10240  	}
 10241  	goto __27
 10242  __84:
 10243  	;
 10244  
 10245  	// Fall through
 10246  
 10247  	// \0 always starts an octal number, but we may drop through to here with a
 10248  	//     larger first octal digit. The original code used just to take the least
 10249  	//     significant 8 bits of octal numbers (I think this is what early Perls used
 10250  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
 10251  	//     but no more than 3 octal digits.
 10252  
 10253  __43:
 10254  	c = c - Tuint32_t('\060')
 10255  __85:
 10256  	if !(libc.PostIncInt32(&i, 1) < 2 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10257  		goto __86
 10258  	}
 10259  	c = c*Tuint32_t(8) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) - Tuint32_t('\060')
 10260  	goto __85
 10261  __86:
 10262  	;
 10263  	if !(!(utf != 0) && c > Tuint32_t(0xff)) {
 10264  		goto __87
 10265  	}
 10266  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR51
 10267  __87:
 10268  	;
 10269  	goto __27
 10270  
 10271  	// \o is a relatively new Perl feature, supporting a more general way of
 10272  	//     specifying character codes in octal. The only supported form is \o{ddd}.
 10273  
 10274  __44:
 10275  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) != '\173') {
 10276  		goto __88
 10277  	}
 10278  
 10279  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10280  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR55
 10281  	goto __89
 10282  __88:
 10283  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') {
 10284  		goto __90
 10285  	}
 10286  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10287  	goto __91
 10288  __90:
 10289  
 10290  	c = Tuint32_t(0)
 10291  	overflow = DFALSE
 10292  __92:
 10293  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10294  		goto __93
 10295  	}
 10296  
 10297  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1))))
 10298  	if !(c == Tuint32_t(0) && cc == Tuint32_t('\060')) {
 10299  		goto __94
 10300  	}
 10301  	goto __92
 10302  __94:
 10303  	; // Leading zeroes
 10304  	c = c<<3 + (cc - Tuint32_t('\060'))
 10305  	if !(c > func() uint32 {
 10306  		if utf != 0 {
 10307  			return 0x10ffff
 10308  		}
 10309  		return 0xff
 10310  	}()) {
 10311  		goto __95
 10312  	}
 10313  	overflow = DTRUE
 10314  	goto __93
 10315  __95:
 10316  	;
 10317  	goto __92
 10318  __93:
 10319  	;
 10320  	if !(overflow != 0) {
 10321  		goto __96
 10322  	}
 10323  
 10324  __98:
 10325  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10326  		goto __99
 10327  	}
 10328  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10329  	goto __98
 10330  __99:
 10331  	;
 10332  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10333  	goto __97
 10334  __96:
 10335  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') {
 10336  		goto __100
 10337  	}
 10338  
 10339  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10340  		goto __102
 10341  	}
 10342  
 10343  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10344  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10345  __102:
 10346  	;
 10347  	goto __101
 10348  __100:
 10349  
 10350  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10351  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR64
 10352  __101:
 10353  	;
 10354  __97:
 10355  	;
 10356  __91:
 10357  	;
 10358  __89:
 10359  	;
 10360  	goto __27
 10361  
 10362  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
 10363  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
 10364  
 10365  __45:
 10366  	if !(alt_bsux != 0) {
 10367  		goto __103
 10368  	}
 10369  
 10370  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(2)) {
 10371  		goto __105
 10372  	}
 10373  	goto __27
 10374  __105:
 10375  	; // Less than 2 characters
 10376  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10377  		goto __106
 10378  	}
 10379  	goto __27
 10380  __106:
 10381  	; // Not a hex digit
 10382  	if !(libc.AssignUint32(&xc1, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) {
 10383  		goto __107
 10384  	}
 10385  	goto __27
 10386  __107:
 10387  	; // Not a hex digit
 10388  	c = cc<<4 | xc1
 10389  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2)
 10390  	goto __104
 10391  __103:
 10392  
 10393  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
 10394  		goto __108
 10395  	}
 10396  
 10397  COME_FROM_NU:
 10398  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') {
 10399  		goto __110
 10400  	}
 10401  
 10402  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10403  	goto __27
 10404  __110:
 10405  	;
 10406  	c = Tuint32_t(0)
 10407  	overflow = DFALSE
 10408  
 10409  __111:
 10410  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) != Tuint32_t(0xff)) {
 10411  		goto __112
 10412  	}
 10413  
 10414  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10415  	if !(c == Tuint32_t(0) && cc == Tuint32_t(0)) {
 10416  		goto __113
 10417  	}
 10418  	goto __111
 10419  __113:
 10420  	; // Leading zeroes
 10421  	c = c<<4 | cc
 10422  	if !(utf != 0 && c > 0x10ffff || !(utf != 0) && c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10423  		goto __114
 10424  	}
 10425  
 10426  	overflow = DTRUE
 10427  	goto __112
 10428  __114:
 10429  	;
 10430  	goto __111
 10431  __112:
 10432  	;
 10433  
 10434  	if !(overflow != 0) {
 10435  		goto __115
 10436  	}
 10437  
 10438  __117:
 10439  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))]) != 0xff) {
 10440  		goto __118
 10441  	}
 10442  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10443  	goto __117
 10444  __118:
 10445  	;
 10446  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10447  	goto __116
 10448  __115:
 10449  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') {
 10450  		goto __119
 10451  	}
 10452  
 10453  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10454  		goto __121
 10455  	}
 10456  
 10457  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10458  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10459  __121:
 10460  	;
 10461  	goto __120
 10462  __119:
 10463  
 10464  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10465  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR67
 10466  __120:
 10467  	;
 10468  __116:
 10469  	;
 10470  	goto __109
 10471  __108:
 10472  
 10473  	c = Tuint32_t(0)
 10474  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10475  		goto __122
 10476  	}
 10477  	goto __27
 10478  __122:
 10479  	; // Not a hex digit
 10480  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10481  	c = cc
 10482  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10483  		goto __123
 10484  	}
 10485  	goto __27
 10486  __123:
 10487  	; // Not a hex digit
 10488  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10489  	c = c<<4 | cc
 10490  __109:
 10491  	; // End of \xdd handling
 10492  __104:
 10493  	; // End of Perl-style \x handling
 10494  	goto __27
 10495  
 10496  	// The handling of \c is different in ASCII and EBCDIC environments. In an
 10497  	//     ASCII (or Unicode) environment, an error is given if the character
 10498  	//     following \c is not a printable ASCII character. Otherwise, the following
 10499  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
 10500  	//     flipped. The result is the value of the escape.
 10501  	//
 10502  	//     In an EBCDIC environment the handling of \c is compatible with the
 10503  	//     specification in the perlebcdic document. The following character must be
 10504  	//     a letter or one of small number of special characters. These provide a
 10505  	//     means of defining the character values 0-31.
 10506  	//
 10507  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
 10508  	//     the EBCDIC value of 'c' explicitly.
 10509  
 10510  __46:
 10511  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
 10512  		goto __124
 10513  	}
 10514  
 10515  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR2
 10516  	goto __27
 10517  __124:
 10518  	;
 10519  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)))))
 10520  	if !(c >= Tuint32_t('\141') && c <= Tuint32_t('\172')) {
 10521  		goto __125
 10522  	}
 10523  	c = c - Tuint32_t(32)
 10524  __125:
 10525  	;
 10526  
 10527  	// Handle \c in an ASCII/Unicode environment.
 10528  
 10529  	if !(c < Tuint32_t(32) || c > Tuint32_t(126)) {
 10530  		goto __126
 10531  	} /* Excludes all non-printable ASCII */
 10532  
 10533  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR68
 10534  	goto __27
 10535  __126:
 10536  	;
 10537  	c = c ^ Tuint32_t(0x40)
 10538  
 10539  	// Handle \c in an EBCDIC environment. The special case \c? is converted to
 10540  	//     255 (0xff) or 95 (0x5f) if other characters suggest we are using the
 10541  	//     POSIX-BC encoding. (This is the way Perl indicates that it handles \c?.)
 10542  	//     The other valid sequences correspond to a list of specific characters.
 10543  
 10544  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10545  	goto __27
 10546  
 10547  	// Any other alphanumeric following \ is an error. Perl gives an error only
 10548  	//     if in warning mode, but PCRE doesn't have a warning mode.
 10549  
 10550  __47:
 10551  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
 10552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) - uintptr(1) // Point to the character at fault
 10553  	return 0
 10554  __27:
 10555  	;
 10556  __14:
 10557  	;
 10558  __12:
 10559  	;
 10560  
 10561  	// Set the pointer to the next character before returning.
 10562  
 10563  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))
 10564  	*(*Tuint32_t)(unsafe.Pointer(chptr)) = c
 10565  	return escape
 10566  }
 10567  
 10568  // ************************************************
 10569  //
 10570  //               Handle \P and \p                 *
 10571  //
 10572  
 10573  // This function is called after \P or \p has been encountered, provided that
 10574  // PCRE2 is compiled with support for UTF and Unicode properties. On entry, the
 10575  // contents of ptrptr are pointing after the P or p. On exit, it is left pointing
 10576  // after the final code unit of the escape sequence.
 10577  //
 10578  // Arguments:
 10579  //   ptrptr         the pattern position pointer
 10580  //   negptr         a boolean that is set TRUE for negation else FALSE
 10581  //   ptypeptr       an unsigned int that is set to the type value
 10582  //   pdataptr       an unsigned int that is set to the detailed property value
 10583  //   errorcodeptr   the error code variable
 10584  //   cb             the compile data
 10585  //
 10586  // Returns:         TRUE if the type value was found, or FALSE for an invalid type
 10587  
 10588  func get_ucp(tls *libc.TLS, ptrptr uintptr, negptr uintptr, ptypeptr uintptr, pdataptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2087:1: */
 10589  	bp := tls.Alloc(58)
 10590  	defer tls.Free(58)
 10591  
 10592  	var c TPCRE2_UCHAR8
 10593  	var i Tsize_t
 10594  	var bot Tsize_t
 10595  	var top Tsize_t
 10596  	var ptr TPCRE2_SPTR8
 10597  	// var name [50]TPCRE2_UCHAR8 at bp, 50
 10598  
 10599  	var vptr uintptr
 10600  	var ptscript Tuint16_t
 10601  	var offset int32
 10602  	// var sname [8]TPCRE2_UCHAR8 at bp+50, 8
 10603  
 10604  	var r int32
 10605  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10606  	vptr = uintptr(0)
 10607  	ptscript = Tuint16_t(DPT_NOTSCRIPT)
 10608  
 10609  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10610  		goto __1
 10611  	}
 10612  	goto ERROR_RETURN
 10613  __1:
 10614  	;
 10615  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10616  	*(*TBOOL)(unsafe.Pointer(negptr)) = DFALSE
 10617  
 10618  	// \P or \p can be followed by a name in {}, optionally preceded by ^ for
 10619  	// negation.
 10620  
 10621  	if !(int32(c) == '\173') {
 10622  		goto __2
 10623  	}
 10624  
 10625  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10626  		goto __4
 10627  	}
 10628  	goto ERROR_RETURN
 10629  __4:
 10630  	;
 10631  
 10632  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\136') {
 10633  		goto __5
 10634  	}
 10635  
 10636  	*(*TBOOL)(unsafe.Pointer(negptr)) = DTRUE
 10637  	ptr++
 10638  __5:
 10639  	;
 10640  
 10641  	i = uint64(0)
 10642  __6:
 10643  	if !(i < uint64(int32(uint64(unsafe.Sizeof([50]TPCRE2_UCHAR8{}))/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))-1)) {
 10644  		goto __8
 10645  	}
 10646  
 10647  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10648  		goto __9
 10649  	}
 10650  	goto ERROR_RETURN
 10651  __9:
 10652  	;
 10653  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10654  __10:
 10655  	if !(int32(c) == '_' || int32(c) == '-' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISspace) != 0) {
 10656  		goto __11
 10657  	}
 10658  
 10659  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10660  		goto __12
 10661  	}
 10662  	goto ERROR_RETURN
 10663  __12:
 10664  	;
 10665  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10666  	goto __10
 10667  __11:
 10668  	;
 10669  	if !(int32(c) == 0) {
 10670  		goto __13
 10671  	}
 10672  	goto ERROR_RETURN
 10673  __13:
 10674  	;
 10675  	if !(int32(c) == '\175') {
 10676  		goto __14
 10677  	}
 10678  	goto __8
 10679  __14:
 10680  	;
 10681  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10682  	if !((int32(c) == ':' || int32(c) == '=') && vptr == uintptr(0)) {
 10683  		goto __15
 10684  	}
 10685  	vptr = bp + uintptr(i)
 10686  __15:
 10687  	;
 10688  	goto __7
 10689  __7:
 10690  	i++
 10691  	goto __6
 10692  	goto __8
 10693  __8:
 10694  	;
 10695  
 10696  	if !(int32(c) != '\175') {
 10697  		goto __16
 10698  	}
 10699  	goto ERROR_RETURN
 10700  __16:
 10701  	;
 10702  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(0)
 10703  	goto __3
 10704  __2:
 10705  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(c))))&Dctype_letter != 0) {
 10706  		goto __17
 10707  	}
 10708  
 10709  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10710  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 1)) = TPCRE2_UCHAR8(0)
 10711  	goto __18
 10712  __17:
 10713  	goto ERROR_RETURN
 10714  __18:
 10715  	;
 10716  __3:
 10717  	;
 10718  
 10719  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10720  
 10721  	// If the property contains ':' or '=' we have class name and value separately
 10722  	// specified. The following are supported:
 10723  	//
 10724  	//   . Bidi_Class (synonym bc), for which the property names are "bidi<name>".
 10725  	//   . Script (synonym sc) for which the property name is the script name
 10726  	//   . Script_Extensions (synonym scx), ditto
 10727  	//
 10728  	// As this is a small number, we currently just check the names directly. If this
 10729  	// grows, a sorted table and a switch will be neater.
 10730  	//
 10731  	// For both the script properties, set a PT_xxx value so that (1) they can be
 10732  	// distinguished and (2) invalid script names that happen to be the name of
 10733  	// another property can be diagnosed.
 10734  
 10735  	if !(vptr != uintptr(0)) {
 10736  		goto __19
 10737  	}
 10738  
 10739  	offset = 0
 10740  
 10741  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(vptr)) = TPCRE2_UCHAR8(0) // Terminate property name
 10742  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+553) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+563) == 0) {
 10743  		goto __20
 10744  	}
 10745  
 10746  	offset = 4
 10747  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50)) = TPCRE2_UCHAR8('\142')
 10748  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 1)) = TPCRE2_UCHAR8('\151') // There is no strcpy_c8 function
 10749  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 2)) = TPCRE2_UCHAR8('\144')
 10750  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 3)) = TPCRE2_UCHAR8('\151')
 10751  	goto __21
 10752  __20:
 10753  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+566) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+573) == 0) {
 10754  		goto __22
 10755  	}
 10756  	ptscript = Tuint16_t(DPT_SC)
 10757  	goto __23
 10758  __22:
 10759  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+576) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+593) == 0) {
 10760  		goto __24
 10761  	}
 10762  	ptscript = Tuint16_t(DPT_SCX)
 10763  	goto __25
 10764  __24:
 10765  
 10766  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47
 10767  	return DFALSE
 10768  __25:
 10769  	;
 10770  __23:
 10771  	;
 10772  __21:
 10773  	;
 10774  
 10775  	// Adjust the string in name[] as needed
 10776  
 10777  	libc.Xmemmove(tls, bp+uintptr(offset), vptr+uintptr(1), uint64((int64(bp+uintptr(i))-int64(vptr))/1)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10778  	if !(offset != 0) {
 10779  		goto __26
 10780  	}
 10781  	libc.Xmemmove(tls, bp, bp+50, uint64(offset)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10782  __26:
 10783  	;
 10784  __19:
 10785  	;
 10786  
 10787  	// Search for a recognized property using binary chop.
 10788  
 10789  	bot = uint64(0)
 10790  	top = X_pcre2_utt_size_8
 10791  
 10792  __27:
 10793  	if !(bot < top) {
 10794  		goto __28
 10795  	}
 10796  
 10797  	i = (bot + top) >> 1
 10798  	r = X_pcre2_strcmp_c8_8(tls, bp, uintptr(unsafe.Pointer(&X_pcre2_utt_names_8))+uintptr(X_pcre2_utt_8[i].Fname_offset))
 10799  
 10800  	// When a matching property is found, some extra checking is needed when the
 10801  	//   \p{xx:yy} syntax is used and xx is either sc or scx.
 10802  
 10803  	if !(r == 0) {
 10804  		goto __29
 10805  	}
 10806  
 10807  	*(*Tuint16_t)(unsafe.Pointer(pdataptr)) = X_pcre2_utt_8[i].Fvalue
 10808  	if !(vptr == uintptr(0) || int32(ptscript) == DPT_NOTSCRIPT) {
 10809  		goto __30
 10810  	}
 10811  
 10812  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = X_pcre2_utt_8[i].Ftype
 10813  	return DTRUE
 10814  __30:
 10815  	;
 10816  
 10817  	switch int32(X_pcre2_utt_8[i].Ftype) {
 10818  	case DPT_SC:
 10819  		goto __32
 10820  
 10821  	case DPT_SCX:
 10822  		goto __33
 10823  	}
 10824  	goto __31
 10825  
 10826  __32:
 10827  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = Tuint16_t(DPT_SC)
 10828  	return DTRUE
 10829  
 10830  __33:
 10831  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = ptscript
 10832  	return DTRUE
 10833  __31:
 10834  	;
 10835  
 10836  	goto __28 // Non-script found
 10837  __29:
 10838  	;
 10839  
 10840  	if !(r > 0) {
 10841  		goto __34
 10842  	}
 10843  	bot = i + uint64(1)
 10844  	goto __35
 10845  __34:
 10846  	top = i
 10847  __35:
 10848  	;
 10849  	goto __27
 10850  __28:
 10851  	;
 10852  
 10853  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47 // Unrecognized property
 10854  	return DFALSE
 10855  
 10856  ERROR_RETURN: // Malformed \P or \p
 10857  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR46
 10858  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10859  	return DFALSE
 10860  }
 10861  
 10862  // ************************************************
 10863  //
 10864  //           Check for POSIX class syntax         *
 10865  //
 10866  
 10867  // This function is called when the sequence "[:" or "[." or "[=" is
 10868  // encountered in a character class. It checks whether this is followed by a
 10869  // sequence of characters terminated by a matching ":]" or ".]" or "=]". If we
 10870  // reach an unescaped ']' without the special preceding character, return FALSE.
 10871  //
 10872  // Originally, this function only recognized a sequence of letters between the
 10873  // terminators, but it seems that Perl recognizes any sequence of characters,
 10874  // though of course unknown POSIX names are subsequently rejected. Perl gives an
 10875  // "Unknown POSIX class" error for [:f\oo:] for example, where previously PCRE
 10876  // didn't consider this to be a POSIX class. Likewise for [:1234:].
 10877  //
 10878  // The problem in trying to be exactly like Perl is in the handling of escapes. We
 10879  // have to be sure that [abc[:x\]pqr] is *not* treated as containing a POSIX
 10880  // class, but [abc[:x\]pqr:]] is (so that an error can be generated). The code
 10881  // below handles the special cases \\ and \], but does not try to do any other
 10882  // escape processing. This makes it different from Perl for cases such as
 10883  // [:l\ower:] where Perl recognizes it as the POSIX class "lower" but PCRE does
 10884  // not recognize "l\ower". This is a lesser evil than not diagnosing bad classes
 10885  // when Perl does, I think.
 10886  //
 10887  // A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
 10888  // It seems that the appearance of a nested POSIX class supersedes an apparent
 10889  // external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
 10890  // a digit. This is handled by returning FALSE if the start of a new group with
 10891  // the same terminator is encountered, since the next closing sequence must close
 10892  // the nested group, not the outer one.
 10893  //
 10894  // In Perl, unescaped square brackets may also appear as part of class names. For
 10895  // example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
 10896  // [:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
 10897  // seem right at all. PCRE does not allow closing square brackets in POSIX class
 10898  // names.
 10899  //
 10900  // Arguments:
 10901  //   ptr      pointer to the character after the initial [ (colon, dot, equals)
 10902  //   ptrend   pointer to the end of the pattern
 10903  //   endptr   where to return a pointer to the terminating ':', '.', or '='
 10904  //
 10905  // Returns:   TRUE or FALSE
 10906  
 10907  func check_posix_syntax(tls *libc.TLS, ptr TPCRE2_SPTR8, ptrend TPCRE2_SPTR8, endptr uintptr) TBOOL { /* pcre2_compile.c:2293:1: */
 10908  	var terminator TPCRE2_UCHAR8                                                 // Don't combine these lines; the Solaris cc
 10909  	terminator = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) // compiler warns about "non-constant" initializer.
 10910  
 10911  	for ; (int64(ptrend)-int64(ptr))/1 >= int64(2); ptr++ {
 10912  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\134' && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\134') {
 10913  			ptr++
 10914  		} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\133' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == int32(terminator) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\135' {
 10915  			return DFALSE
 10916  		} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(terminator) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' {
 10917  			*(*TPCRE2_SPTR8)(unsafe.Pointer(endptr)) = ptr
 10918  			return DTRUE
 10919  		}
 10920  	}
 10921  
 10922  	return DFALSE
 10923  }
 10924  
 10925  // ************************************************
 10926  //
 10927  //          Check POSIX class name                *
 10928  //
 10929  
 10930  // This function is called to check the name given in a POSIX-style class entry
 10931  // such as [:alnum:].
 10932  //
 10933  // Arguments:
 10934  //   ptr        points to the first letter
 10935  //   len        the length of the name
 10936  //
 10937  // Returns:     a value representing the name, or -1 if unknown
 10938  
 10939  func check_posix_name(tls *libc.TLS, ptr TPCRE2_SPTR8, len int32) int32 { /* pcre2_compile.c:2334:1: */
 10940  	var pn uintptr = uintptr(unsafe.Pointer(&posix_names))
 10941  	var yield int32 = 0
 10942  	for int32(posix_name_lengths[yield]) != 0 {
 10943  		if len == int32(posix_name_lengths[yield]) && X_pcre2_strncmp_c8_8(tls, ptr, pn, uint64(uint32(len))) == 0 {
 10944  			return yield
 10945  		}
 10946  		pn += uintptr(int32(posix_name_lengths[yield]) + 1)
 10947  		yield++
 10948  	}
 10949  	return -1
 10950  }
 10951  
 10952  // ************************************************
 10953  //
 10954  //       Read a subpattern or VERB name           *
 10955  //
 10956  
 10957  // This function is called from parse_regex() below whenever it needs to read
 10958  // the name of a subpattern or a (*VERB) or an (*alpha_assertion). The initial
 10959  // pointer must be to the character before the name. If that character is '*' we
 10960  // are reading a verb or alpha assertion name. The pointer is updated to point
 10961  // after the name, for a VERB or alpha assertion name, or after tha name's
 10962  // terminator for a subpattern name. Returning both the offset and the name
 10963  // pointer is redundant information, but some callers use one and some the other,
 10964  // so it is simplest just to return both.
 10965  //
 10966  // Arguments:
 10967  //   ptrptr      points to the character pointer variable
 10968  //   ptrend      points to the end of the input string
 10969  //   utf         true if the input is UTF-encoded
 10970  //   terminator  the terminator of a subpattern name must be this
 10971  //   offsetptr   where to put the offset from the start of the pattern
 10972  //   nameptr     where to put a pointer to the name in the input
 10973  //   namelenptr  where to put the length of the name
 10974  //   errcodeptr  where to put an error code
 10975  //   cb          pointer to the compile data block
 10976  //
 10977  // Returns:    TRUE if a name was read
 10978  //             FALSE otherwise, with error code set
 10979  
 10980  func read_name(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, utf TBOOL, terminator Tuint32_t, offsetptr uintptr, nameptr uintptr, namelenptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2379:1: */
 10981  	var ptr TPCRE2_SPTR8
 10982  	var is_group TBOOL
 10983  	var c Tuint32_t
 10984  	var type1 Tuint32_t
 10985  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10986  	is_group = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != '\052')
 10987  
 10988  	if !(libc.PreIncUintptr(&ptr, 1) >= ptrend) {
 10989  		goto __1
 10990  	} /* No characters in name */
 10991  
 10992  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 10993  		if is_group != 0 {
 10994  			return ERR62
 10995  		}
 10996  		return ERR60
 10997  	}() // Verb not recognized or malformed
 10998  	goto FAILED
 10999  __1:
 11000  	;
 11001  
 11002  	*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)) = ptr
 11003  	*(*Tsize_t)(unsafe.Pointer(offsetptr)) = Tsize_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 11004  
 11005  	// In UTF mode, a group name may contain letters and decimal digits as defined
 11006  	// by Unicode properties, and underscores, but must not start with a digit.
 11007  
 11008  	if !(utf != 0 && is_group != 0) {
 11009  		goto __2
 11010  	}
 11011  
 11012  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 11013  	if !(c >= 0xc0) {
 11014  		goto __4
 11015  	}
 11016  	if !(c&0x20 == Tuint32_t(0)) {
 11017  		goto __5
 11018  	}
 11019  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11020  	goto __6
 11021  __5:
 11022  	if !(c&0x10 == Tuint32_t(0)) {
 11023  		goto __7
 11024  	}
 11025  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11026  	goto __8
 11027  __7:
 11028  	if !(c&0x08 == Tuint32_t(0)) {
 11029  		goto __9
 11030  	}
 11031  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 11032  	goto __10
 11033  __9:
 11034  	if !(c&0x04 == Tuint32_t(0)) {
 11035  		goto __11
 11036  	}
 11037  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 11038  	goto __12
 11039  __11:
 11040  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 11041  __12:
 11042  	;
 11043  __10:
 11044  	;
 11045  __8:
 11046  	;
 11047  __6:
 11048  	;
 11049  __4:
 11050  	;
 11051  
 11052  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 11053  
 11054  	if !(type1 == ucp_Nd) {
 11055  		goto __13
 11056  	}
 11057  
 11058  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11059  	goto FAILED
 11060  __13:
 11061  	;
 11062  
 11063  __14:
 11064  
 11065  	if !(type1 != ucp_Nd && X_pcre2_ucp_gentype_8[type1] != ucp_L && c != Tuint32_t('\137')) {
 11066  		goto __17
 11067  	}
 11068  	goto __16
 11069  __17:
 11070  	;
 11071  	ptr++
 11072  __18:
 11073  	if !(ptr < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80) {
 11074  		goto __19
 11075  	}
 11076  	ptr++
 11077  	goto __18
 11078  __19:
 11079  	;
 11080  	if !(ptr >= ptrend) {
 11081  		goto __20
 11082  	}
 11083  	goto __16
 11084  __20:
 11085  	;
 11086  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 11087  	if !(c >= 0xc0) {
 11088  		goto __21
 11089  	}
 11090  	if !(c&0x20 == Tuint32_t(0)) {
 11091  		goto __22
 11092  	}
 11093  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11094  	goto __23
 11095  __22:
 11096  	if !(c&0x10 == Tuint32_t(0)) {
 11097  		goto __24
 11098  	}
 11099  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11100  	goto __25
 11101  __24:
 11102  	if !(c&0x08 == Tuint32_t(0)) {
 11103  		goto __26
 11104  	}
 11105  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 11106  	goto __27
 11107  __26:
 11108  	if !(c&0x04 == Tuint32_t(0)) {
 11109  		goto __28
 11110  	}
 11111  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 11112  	goto __29
 11113  __28:
 11114  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 11115  __29:
 11116  	;
 11117  __27:
 11118  	;
 11119  __25:
 11120  	;
 11121  __23:
 11122  	;
 11123  __21:
 11124  	;
 11125  
 11126  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 11127  	goto __15
 11128  __15:
 11129  	goto __14
 11130  	goto __16
 11131  __16:
 11132  	;
 11133  	goto __3
 11134  __2:
 11135  
 11136  	/* Handle non-group names and group names in non-UTF modes. A group name must
 11137  	   not start with a digit. If either of the others start with a digit it just
 11138  	   won't be recognized. */
 11139  
 11140  	if !(is_group != 0 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
 11141  		goto __30
 11142  	}
 11143  
 11144  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11145  	goto FAILED
 11146  __30:
 11147  	;
 11148  
 11149  __31:
 11150  	if !(ptr < ptrend && 1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))))))&Dctype_word != 0) {
 11151  		goto __32
 11152  	}
 11153  
 11154  	ptr++
 11155  	goto __31
 11156  __32:
 11157  	;
 11158  __3:
 11159  	;
 11160  
 11161  	// Check name length
 11162  
 11163  	if !(ptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))+uintptr(DMAX_NAME_SIZE)) {
 11164  		goto __33
 11165  	}
 11166  
 11167  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR48
 11168  	goto FAILED
 11169  __33:
 11170  	;
 11171  	*(*Tuint32_t)(unsafe.Pointer(namelenptr)) = Tuint32_t((int64(ptr) - int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)))) / 1)
 11172  
 11173  	// Subpattern names must not be empty, and their terminator is checked here.
 11174  	// (What follows a verb or alpha assertion name is checked separately.)
 11175  
 11176  	if !(is_group != 0) {
 11177  		goto __34
 11178  	}
 11179  
 11180  	if !(ptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))) {
 11181  		goto __35
 11182  	}
 11183  
 11184  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR62 // Subpattern name expected
 11185  	goto FAILED
 11186  __35:
 11187  	;
 11188  	if !(ptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != int32(TPCRE2_UCHAR8(terminator))) {
 11189  		goto __36
 11190  	}
 11191  
 11192  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR42
 11193  	goto FAILED
 11194  __36:
 11195  	;
 11196  	ptr++
 11197  __34:
 11198  	;
 11199  
 11200  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11201  	return DTRUE
 11202  
 11203  FAILED:
 11204  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11205  	return DFALSE
 11206  }
 11207  
 11208  // ************************************************
 11209  //
 11210  //          Manage callouts at start of cycle     *
 11211  //
 11212  
 11213  // At the start of a new item in parse_regex() we are able to record the
 11214  // details of the previous item in a prior callout, and also to set up an
 11215  // automatic callout if enabled. Avoid having two adjacent automatic callouts,
 11216  // which would otherwise happen for items such as \Q that contribute nothing to
 11217  // the parsed pattern.
 11218  //
 11219  // Arguments:
 11220  //   ptr              current pattern pointer
 11221  //   pcalloutptr      points to a pointer to previous callout, or NULL
 11222  //   auto_callout     TRUE if auto_callouts are enabled
 11223  //   parsed_pattern   the parsed pattern pointer
 11224  //   cb               compile block
 11225  //
 11226  // Returns: possibly updated parsed_pattern pointer.
 11227  
 11228  func manage_callouts(tls *libc.TLS, ptr TPCRE2_SPTR8, pcalloutptr uintptr, auto_callout TBOOL, parsed_pattern uintptr, cb uintptr) uintptr { /* pcre2_compile.c:2503:17: */
 11229  	var previous_callout uintptr = *(*uintptr)(unsafe.Pointer(pcalloutptr))
 11230  
 11231  	if previous_callout != uintptr(0) {
 11232  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(Tsize_t((int64(ptr)-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1) - Tsize_t(*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4))))
 11233  	}
 11234  
 11235  	if !(auto_callout != 0) {
 11236  		previous_callout = uintptr(0)
 11237  	} else {
 11238  		if previous_callout == uintptr(0) || previous_callout != parsed_pattern-uintptr(4)*4 || *(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) != Tuint32_t(255) {
 11239  			previous_callout = parsed_pattern // Set up new automatic callout
 11240  			parsed_pattern += 4 * uintptr(4)
 11241  			*(*Tuint32_t)(unsafe.Pointer(previous_callout)) = DMETA_CALLOUT_NUMBER
 11242  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(0)
 11243  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) = Tuint32_t(255)
 11244  		}
 11245  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4)) = Tuint32_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 11246  	}
 11247  
 11248  	*(*uintptr)(unsafe.Pointer(pcalloutptr)) = previous_callout
 11249  	return parsed_pattern
 11250  }
 11251  
 11252  // ************************************************
 11253  //
 11254  //      Parse regex and identify named groups     *
 11255  //
 11256  
 11257  // This function is called first of all. It scans the pattern and does two
 11258  // things: (1) It identifies capturing groups and makes a table of named capturing
 11259  // groups so that information about them is fully available to both the compiling
 11260  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11261  // escapes processed into the parsed_pattern vector.
 11262  //
 11263  // Arguments:
 11264  //   ptr             points to the start of the pattern
 11265  //   options         compiling dynamic options (may change during the scan)
 11266  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11267  //   cb              pointer to the compile data block
 11268  //
 11269  // Returns:   zero on success or a non-zero error code, with the
 11270  //              error offset placed in the cb field
 11271  
 11272  // A structure and some flags for dealing with nested groups.
 11273  
 11274  type Snest_save = struct {
 11275  	Fnest_depth  Tuint16_t
 11276  	Freset_group Tuint16_t
 11277  	Fmax_group   Tuint16_t
 11278  	Fflags       Tuint16_t
 11279  	Foptions     Tuint32_t
 11280  } /* pcre2_compile.c:2555:9 */
 11281  
 11282  // ************************************************
 11283  //
 11284  //      Parse regex and identify named groups     *
 11285  //
 11286  
 11287  // This function is called first of all. It scans the pattern and does two
 11288  // things: (1) It identifies capturing groups and makes a table of named capturing
 11289  // groups so that information about them is fully available to both the compiling
 11290  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11291  // escapes processed into the parsed_pattern vector.
 11292  //
 11293  // Arguments:
 11294  //   ptr             points to the start of the pattern
 11295  //   options         compiling dynamic options (may change during the scan)
 11296  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11297  //   cb              pointer to the compile data block
 11298  //
 11299  // Returns:   zero on success or a non-zero error code, with the
 11300  //              error offset placed in the cb field
 11301  
 11302  // A structure and some flags for dealing with nested groups.
 11303  
 11304  type Tnest_save = Snest_save /* pcre2_compile.c:2561:3 */
 11305  
 11306  // Only in 32-bit mode can there be literals > META_END. A macro encapsulates
 11307  // the storing of literal values in the main parsed pattern, where they can always
 11308  // be quantified.
 11309  
 11310  // Here's the actual function.
 11311  
 11312  func parse_regex(tls *libc.TLS, ptr TPCRE2_SPTR8, options Tuint32_t, has_lookbehind uintptr, cb uintptr) int32 { /* pcre2_compile.c:2598:12: */
 11313  	bp := tls.Alloc(104)
 11314  	defer tls.Free(104)
 11315  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) = ptr
 11316  
 11317  	// var c Tuint32_t at bp+16, 4
 11318  
 11319  	var delimiter Tuint32_t
 11320  	// var namelen Tuint32_t at bp+72, 4
 11321  
 11322  	var class_range_state Tuint32_t
 11323  	var verblengthptr uintptr // Value avoids compiler warning
 11324  	var verbstartptr uintptr
 11325  	// var previous_callout uintptr at bp, 8
 11326  
 11327  	var parsed_pattern uintptr
 11328  	var parsed_pattern_end uintptr
 11329  	var meta_quantifier Tuint32_t
 11330  	var add_after_mark Tuint32_t
 11331  	var extra_options Tuint32_t
 11332  	var nest_depth Tuint16_t
 11333  	var after_manual_callout int32
 11334  	var expect_cond_assert int32
 11335  	// var errorcode int32 at bp+20, 4
 11336  
 11337  	var escape int32
 11338  	// var i int32 at bp+48, 4
 11339  
 11340  	var inescq TBOOL
 11341  	var inverbname TBOOL
 11342  	var utf TBOOL
 11343  	var auto_callout TBOOL
 11344  	var isdupname TBOOL
 11345  	var negate_class TBOOL
 11346  	var okquantifier TBOOL
 11347  	var thisptr TPCRE2_SPTR8
 11348  	// var name TPCRE2_SPTR8 at bp+64, 8
 11349  
 11350  	var ptrend TPCRE2_SPTR8
 11351  	var verbnamestart TPCRE2_SPTR8 // Value avoids compiler warning
 11352  	var ng uintptr
 11353  	var top_nest uintptr
 11354  	var end_nests uintptr
 11355  	var verbnamelength Tsize_t
 11356  	var ok TBOOL
 11357  	// var negated TBOOL at bp+32, 4
 11358  
 11359  	// var ptype Tuint16_t at bp+36, 2
 11360  
 11361  	// var pdata Tuint16_t at bp+38, 2
 11362  
 11363  	// var p TPCRE2_SPTR8 at bp+40, 8
 11364  
 11365  	var p1 uintptr
 11366  	var ptype1 int32
 11367  	var pvalue int32
 11368  	var posix_negate TBOOL
 11369  	var posix_class int32
 11370  	// var negated1 TBOOL at bp+84, 4
 11371  
 11372  	// var ptype2 Tuint16_t at bp+88, 2
 11373  
 11374  	// var pdata1 Tuint16_t at bp+90, 2
 11375  
 11376  	var char_is_literal TBOOL
 11377  	var meta Tuint32_t
 11378  	var vn uintptr
 11379  	var hyphenok TBOOL
 11380  	var oldoptions Tuint32_t
 11381  	var calloutlength Tsize_t
 11382  	var startptr TPCRE2_SPTR8
 11383  	var n int32
 11384  	var ge Tuint32_t
 11385  	// var major int32 at bp+100, 4
 11386  
 11387  	var minor int32
 11388  	var was_r_ampersand TBOOL
 11389  	var newsize Tuint32_t
 11390  	var newspace uintptr
 11391  	var prev_expect_cond_assert int32
 11392  	// var min_repeat Tuint32_t at bp+76, 4
 11393  
 11394  	// var max_repeat Tuint32_t at bp+80, 4
 11395  
 11396  	// var set Tuint32_t at bp+92, 4
 11397  
 11398  	// var unset Tuint32_t at bp+96, 4
 11399  
 11400  	var optset uintptr
 11401  	var terminator Tuint32_t
 11402  	var prev_meta_quantifier Tuint32_t
 11403  	var prev_okquantifier TBOOL
 11404  	// var tempptr TPCRE2_SPTR8 at bp+24, 8
 11405  
 11406  	// var offset Tsize_t at bp+56, 8
 11407  	verblengthptr = uintptr(0)
 11408  	verbstartptr = uintptr(0)
 11409  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = uintptr(0)
 11410  	parsed_pattern = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 11411  	parsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern_end
 11412  	meta_quantifier = Tuint32_t(0)
 11413  	add_after_mark = Tuint32_t(0)
 11414  	extra_options = (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options
 11415  	nest_depth = Tuint16_t(0)
 11416  	after_manual_callout = 0
 11417  	expect_cond_assert = 0
 11418  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = 0
 11419  	inescq = DFALSE
 11420  	inverbname = DFALSE
 11421  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 11422  	auto_callout = libc.Bool32(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0))
 11423  	okquantifier = DFALSE
 11424  	ptrend = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern
 11425  	verbnamestart = uintptr(0)
 11426  
 11427  	// Insert leading items for word and line matching (features provided for the
 11428  	// benefit of pcre2grep).
 11429  
 11430  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 11431  		goto __1
 11432  	}
 11433  
 11434  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 11435  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11436  	goto __2
 11437  __1:
 11438  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 11439  		goto __3
 11440  	}
 11441  
 11442  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 11443  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11444  __3:
 11445  	;
 11446  __2:
 11447  	;
 11448  
 11449  	// If the pattern is actually a literal string, process it separately to avoid
 11450  	// cluttering up the main loop.
 11451  
 11452  	if !(options&DPCRE2_LITERAL != Tuint32_t(0)) {
 11453  		goto __4
 11454  	}
 11455  
 11456  __5:
 11457  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11458  		goto __6
 11459  	}
 11460  
 11461  	if !(parsed_pattern >= parsed_pattern_end) {
 11462  		goto __7
 11463  	}
 11464  
 11465  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11466  	goto FAILED
 11467  __7:
 11468  	;
 11469  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 11470  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 11471  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 11472  		goto __8
 11473  	}
 11474  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 11475  		goto __9
 11476  	}
 11477  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 11478  	goto __10
 11479  __9:
 11480  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 11481  		goto __11
 11482  	}
 11483  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 11484  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 11485  	goto __12
 11486  __11:
 11487  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 11488  		goto __13
 11489  	}
 11490  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 11491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 11492  	goto __14
 11493  __13:
 11494  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 11495  		goto __15
 11496  	}
 11497  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 11498  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 11499  	goto __16
 11500  __15:
 11501  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 11502  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 11503  __16:
 11504  	;
 11505  __14:
 11506  	;
 11507  __12:
 11508  	;
 11509  __10:
 11510  	;
 11511  __8:
 11512  	;
 11513  
 11514  	if !(auto_callout != 0) {
 11515  		goto __17
 11516  	}
 11517  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11518  		auto_callout, parsed_pattern, cb)
 11519  __17:
 11520  	;
 11521  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11522  	okquantifier = DTRUE
 11523  
 11524  	goto __5
 11525  __6:
 11526  	;
 11527  	goto PARSED_END
 11528  __4:
 11529  	;
 11530  
 11531  	// Process a real regex which may contain meta-characters.
 11532  
 11533  	top_nest = uintptr(0)
 11534  	end_nests = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)
 11535  
 11536  	// The size of the nest_save structure might not be a factor of the size of the
 11537  	// workspace. Therefore we must round down end_nests so as to correctly avoid
 11538  	// creating a nest_save that spans the end of the workspace.
 11539  
 11540  	end_nests = end_nests - uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size*Tsize_t(unsafe.Sizeof(TPCRE2_UCHAR8(0)))%Tsize_t(unsafe.Sizeof(Tnest_save{})))
 11541  
 11542  	// PCRE2_EXTENDED_MORE implies PCRE2_EXTENDED
 11543  
 11544  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0)) {
 11545  		goto __18
 11546  	}
 11547  	options = options | DPCRE2_EXTENDED
 11548  __18:
 11549  	;
 11550  
 11551  	// Now scan the pattern
 11552  
 11553  __19:
 11554  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11555  		goto __20
 11556  	}
 11557  
 11558  	if !(parsed_pattern >= parsed_pattern_end) {
 11559  		goto __21
 11560  	}
 11561  
 11562  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11563  	goto FAILED
 11564  __21:
 11565  	;
 11566  
 11567  	if !(Tuint32_t(nest_depth) > (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fparens_nest_limit) {
 11568  		goto __22
 11569  	}
 11570  
 11571  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR19
 11572  	goto FAILED // Parentheses too deeply nested
 11573  __22:
 11574  	;
 11575  
 11576  	// Get next input character, save its position for callout handling.
 11577  
 11578  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 11579  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 11580  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 11581  		goto __23
 11582  	}
 11583  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 11584  		goto __24
 11585  	}
 11586  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 11587  	goto __25
 11588  __24:
 11589  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 11590  		goto __26
 11591  	}
 11592  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 11593  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 11594  	goto __27
 11595  __26:
 11596  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 11597  		goto __28
 11598  	}
 11599  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 11600  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 11601  	goto __29
 11602  __28:
 11603  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 11604  		goto __30
 11605  	}
 11606  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 11607  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 11608  	goto __31
 11609  __30:
 11610  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 11611  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 11612  __31:
 11613  	;
 11614  __29:
 11615  	;
 11616  __27:
 11617  	;
 11618  __25:
 11619  	;
 11620  __23:
 11621  	;
 11622  
 11623  	// Copy quoted literals until \E, allowing for the possibility of automatic
 11624  	//   callouts, except when processing a (*VERB) "name".
 11625  
 11626  	if !(inescq != 0) {
 11627  		goto __32
 11628  	}
 11629  
 11630  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 11631  		goto __33
 11632  	}
 11633  
 11634  	inescq = DFALSE
 11635  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip E
 11636  	goto __34
 11637  __33:
 11638  
 11639  	if !(expect_cond_assert > 0) {
 11640  		goto __35
 11641  	} /* A literal is not allowed if we are */
 11642  	// expecting a conditional assertion,
 11643  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // but an empty \Q\E sequence is OK.
 11644  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 11645  	goto FAILED
 11646  __35:
 11647  	;
 11648  	if !(inverbname != 0) {
 11649  		goto __36
 11650  	}
 11651  	// Don't use PARSED_LITERAL() because it
 11652  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11653  	goto __37
 11654  __36:
 11655  
 11656  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11657  		goto __38
 11658  	}
 11659  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11660  		auto_callout, parsed_pattern, cb)
 11661  __38:
 11662  	;
 11663  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11664  	okquantifier = DTRUE
 11665  
 11666  __37:
 11667  	;
 11668  	meta_quantifier = Tuint32_t(0)
 11669  __34:
 11670  	;
 11671  	goto __19 // Next character
 11672  __32:
 11673  	;
 11674  
 11675  	// If we are processing the "name" part of a (*VERB:NAME) item, all
 11676  	//   characters up to the closing parenthesis are literals except when
 11677  	//   PCRE2_ALT_VERBNAMES is set. That causes backslash interpretation, but only \Q
 11678  	//   and \E and escaped characters are allowed (no character types such as \d). If
 11679  	//   PCRE2_EXTENDED is also set, we must ignore white space and # comments. Do
 11680  	//   this by not entering the special (*VERB:NAME) processing - they are then
 11681  	//   picked up below. Note that c is a character, not a code unit, so we must not
 11682  	//   use MAX_255 to test its size because MAX_255 tests code units and is assumed
 11683  	//   TRUE in 8-bit mode.
 11684  
 11685  	if !(inverbname != 0 && (options&(DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES) != DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) > Tuint32_t(255) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x200f) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x2029) || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\043') && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space == 0 &&
 11686  
 11687  		*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) {
 11688  		goto __39
 11689  	}
 11690  
 11691  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) {
 11692  	default:
 11693  		goto __41
 11694  
 11695  	case Tuint32_t('\051'):
 11696  		goto __42
 11697  
 11698  	case Tuint32_t('\134'):
 11699  		goto __43
 11700  	}
 11701  	goto __40
 11702  
 11703  __41: // Don't use PARSED_LITERAL() because it
 11704  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11705  	goto __40
 11706  
 11707  __42:
 11708  	inverbname = DFALSE
 11709  	// This is the length in characters
 11710  	verbnamelength = Tsize_t((int64(parsed_pattern)-int64(verblengthptr))/4 - int64(1))
 11711  	// But the limit on the length is in code units
 11712  	if !((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64(verbnamestart))/1-int64(1) > int64(int32(uint32(1)<<8-uint32(1)))) {
 11713  		goto __44
 11714  	}
 11715  
 11716  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 11717  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR76
 11718  	goto FAILED
 11719  __44:
 11720  	;
 11721  	*(*Tuint32_t)(unsafe.Pointer(verblengthptr)) = Tuint32_t(verbnamelength)
 11722  
 11723  	// If this name was on a verb such as (*ACCEPT) which does not continue,
 11724  	//       a (*MARK) was generated for the name. We now add the original verb as the
 11725  	//       next item.
 11726  
 11727  	if !(add_after_mark != Tuint32_t(0)) {
 11728  		goto __45
 11729  	}
 11730  
 11731  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = add_after_mark
 11732  	add_after_mark = Tuint32_t(0)
 11733  __45:
 11734  	;
 11735  	goto __40
 11736  
 11737  __43:
 11738  	if !(options&DPCRE2_ALT_VERBNAMES != Tuint32_t(0)) {
 11739  		goto __46
 11740  	}
 11741  
 11742  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 11743  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 11744  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 11745  		goto __48
 11746  	}
 11747  	goto FAILED
 11748  __48:
 11749  	;
 11750  	goto __47
 11751  __46:
 11752  	escape = 0
 11753  __47:
 11754  	; // Treat all as literal
 11755  
 11756  	switch escape {
 11757  	case 0:
 11758  		goto __50
 11759  
 11760  	case ESC_Q:
 11761  		goto __51
 11762  
 11763  	case ESC_E:
 11764  		goto __52
 11765  
 11766  	default:
 11767  		goto __53
 11768  	}
 11769  	goto __49
 11770  
 11771  __50: // Don't use PARSED_LITERAL() because it
 11772  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11773  	goto __49
 11774  
 11775  __51:
 11776  	inescq = DTRUE
 11777  	goto __49
 11778  
 11779  __52: // Ignore
 11780  	goto __49
 11781  
 11782  __53:
 11783  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR40 // Invalid in verb name
 11784  	goto FAILED
 11785  __49:
 11786  	;
 11787  __40:
 11788  	;
 11789  	goto __19 // Next character in pattern
 11790  __39:
 11791  	;
 11792  
 11793  	// Not a verb name character. At this point we must process everything that
 11794  	//   must not change the quantification state. This is mainly comments, but we
 11795  	//   handle \Q and \E here as well, so that an item such as A\Q\E+ is treated as
 11796  	//   A+, as in Perl. An isolated \E is ignored.
 11797  
 11798  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11799  		goto __54
 11800  	}
 11801  
 11802  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 11803  		goto __55
 11804  	}
 11805  
 11806  	inescq = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121')
 11807  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11808  	goto __19
 11809  __55:
 11810  	;
 11811  __54:
 11812  	;
 11813  
 11814  	// Skip over whitespace and # comments in extended mode. Note that c is a
 11815  	//   character, not a code unit, so we must not use MAX_255 to test its size
 11816  	//   because MAX_255 tests code units and is assumed TRUE in 8-bit mode. The
 11817  	//   whitespace characters are those designated as "Pattern White Space" by
 11818  	//   Unicode, which are the isspace() characters plus CHAR_NEL (newline), which is
 11819  	//   U+0085 in Unicode, plus U+200E, U+200F, U+2028, and U+2029. These are a
 11820  	//   subset of space characters that match \h and \v.
 11821  
 11822  	if !(options&DPCRE2_EXTENDED != Tuint32_t(0)) {
 11823  		goto __56
 11824  	}
 11825  
 11826  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space != 0) {
 11827  		goto __57
 11828  	}
 11829  	goto __19
 11830  __57:
 11831  	;
 11832  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == libc.Uint32FromUint8(libc.Uint8FromInt32(133)) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x200f) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x2029)) {
 11833  		goto __58
 11834  	}
 11835  	goto __19
 11836  __58:
 11837  	;
 11838  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\043')) {
 11839  		goto __59
 11840  	}
 11841  
 11842  __60:
 11843  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11844  		goto __61
 11845  	}
 11846  
 11847  	if !(func() int32 {
 11848  		if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 11849  			return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern && X_pcre2_is_newline_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern, cb+260, utf) != 0)
 11850  		}
 11851  		return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern-uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272))) && ((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272 + 1)))))
 11852  	}() != 0) {
 11853  		goto __62
 11854  	} /* For non-fixed-length newline cases, */
 11855  	// IS_NEWLINE sets cb->nllen.
 11856  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += TPCRE2_SPTR8((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen)
 11857  	goto __61
 11858  __62:
 11859  	;
 11860  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11861  	if !(utf != 0) {
 11862  		goto __63
 11863  	}
 11864  __64:
 11865  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0xc0 == 0x80) {
 11866  		goto __65
 11867  	}
 11868  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11869  	goto __64
 11870  __65:
 11871  	;
 11872  __63:
 11873  	;
 11874  	goto __60
 11875  __61:
 11876  	;
 11877  	goto __19 // Next character in pattern
 11878  __59:
 11879  	;
 11880  __56:
 11881  	;
 11882  
 11883  	// Skip over bracketed comments
 11884  
 11885  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\043') {
 11886  		goto __66
 11887  	}
 11888  
 11889  __67:
 11890  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 11891  		goto __68
 11892  	}
 11893  	goto __67
 11894  __68:
 11895  	;
 11896  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 11897  		goto __69
 11898  	}
 11899  
 11900  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR18 // A special error for missing ) in a comment
 11901  	goto FAILED                                                // to make it easier to debug.
 11902  __69:
 11903  	;
 11904  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11905  	goto __19 // Next character in pattern
 11906  __66:
 11907  	;
 11908  
 11909  	// If the next item is not a quantifier, fill in length of any previous
 11910  	//   callout and create an auto callout if required.
 11911  
 11912  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\052') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\053') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\077') && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\173') || func() bool {
 11913  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))
 11914  		return !(read_repeat_counts(tls, bp+24, ptrend, uintptr(0), uintptr(0), bp+20) != 0)
 11915  	}())) {
 11916  		goto __70
 11917  	}
 11918  
 11919  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11920  		goto __71
 11921  	}
 11922  	parsed_pattern = manage_callouts(tls, thisptr, bp, auto_callout,
 11923  		parsed_pattern, cb)
 11924  __71:
 11925  	;
 11926  __70:
 11927  	;
 11928  
 11929  	// If expect_cond_assert is 2, we have just passed (?( and are expecting an
 11930  	//   assertion, possibly preceded by a callout. If the value is 1, we have just
 11931  	//   had the callout and expect an assertion. There must be at least 3 more
 11932  	//   characters in all cases. When expect_cond_assert is 2, we know that the
 11933  	//   current character is an opening parenthesis, as otherwise we wouldn't be
 11934  	//   here. However, when it is 1, we need to check, and it's easiest just to check
 11935  	//   always. Note that expect_cond_assert may be negative, since all callouts just
 11936  	//   decrement it.
 11937  
 11938  	if !(expect_cond_assert > 0) {
 11939  		goto __72
 11940  	}
 11941  
 11942  	ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052'))
 11943  	if !(ok != 0) {
 11944  		goto __73
 11945  	}
 11946  
 11947  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') {
 11948  		goto __74
 11949  	} /* New alpha assertion format, possibly */
 11950  
 11951  	ok = libc.Bool32(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))))))&Dctype_lcletter != 0)
 11952  	goto __75
 11953  __74:
 11954  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) + 1))) {
 11955  	case '\103':
 11956  		goto __77
 11957  
 11958  	case '\075':
 11959  		goto __78
 11960  	case '\041':
 11961  		goto __79
 11962  
 11963  	case '\074':
 11964  		goto __80
 11965  
 11966  	default:
 11967  		goto __81
 11968  	}
 11969  	goto __76 /* Traditional symbolic format */
 11970  
 11971  __77:
 11972  	ok = libc.Bool32(expect_cond_assert == 2)
 11973  	goto __76
 11974  
 11975  __78:
 11976  __79:
 11977  	goto __76
 11978  
 11979  __80:
 11980  	ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\075' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\041')
 11981  	goto __76
 11982  
 11983  __81:
 11984  	ok = DFALSE
 11985  __76:
 11986  	;
 11987  __75:
 11988  	;
 11989  __73:
 11990  	;
 11991  
 11992  	if !!(ok != 0) {
 11993  		goto __82
 11994  	}
 11995  
 11996  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Adjust error offset
 11997  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 11998  	goto FAILED
 11999  __82:
 12000  	;
 12001  __72:
 12002  	;
 12003  
 12004  	// Remember whether we are expecting a conditional assertion, and set the
 12005  	//   default for this item.
 12006  
 12007  	prev_expect_cond_assert = expect_cond_assert
 12008  	expect_cond_assert = 0
 12009  
 12010  	// Remember quantification status for the previous significant item, then set
 12011  	//   default for this item.
 12012  
 12013  	prev_okquantifier = okquantifier
 12014  	prev_meta_quantifier = meta_quantifier
 12015  	okquantifier = DFALSE
 12016  	meta_quantifier = Tuint32_t(0)
 12017  
 12018  	// If the previous significant item was a quantifier, adjust the parsed code
 12019  	//   if there is a following modifier. The base meta value is always followed by
 12020  	//   the PLUS and QUERY values, in that order. We do this here rather than after
 12021  	//   reading a quantifier so that intervening comments and /x whitespace can be
 12022  	//   ignored without having to replicate code.
 12023  
 12024  	if !(prev_meta_quantifier != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\053'))) {
 12025  		goto __83
 12026  	}
 12027  
 12028  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + uintptr(func() int32 {
 12029  		if prev_meta_quantifier == DMETA_MINMAX {
 12030  			return -3
 12031  		}
 12032  		return -1
 12033  	}())*4)) = prev_meta_quantifier + func() uint32 {
 12034  		if *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') {
 12035  			return 0x00020000
 12036  		}
 12037  		return 0x00010000
 12038  	}()
 12039  	goto __19 // Next character in pattern
 12040  __83:
 12041  	;
 12042  
 12043  	// Process the next item in the main part of a pattern.
 12044  
 12045  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) {
 12046  	default:
 12047  		goto __85
 12048  
 12049  	// ---- Escape sequence ----
 12050  
 12051  	case Tuint32_t('\134'):
 12052  		goto __86 // End escape sequence processing
 12053  
 12054  	// ---- Single-character special items ----
 12055  
 12056  	case Tuint32_t('\136'):
 12057  		goto __87
 12058  
 12059  	case Tuint32_t('\044'):
 12060  		goto __88
 12061  
 12062  	case Tuint32_t('\056'):
 12063  		goto __89
 12064  
 12065  	// ---- Single-character quantifiers ----
 12066  
 12067  	case Tuint32_t('\052'):
 12068  		goto __90
 12069  
 12070  	case Tuint32_t('\053'):
 12071  		goto __91
 12072  
 12073  	case Tuint32_t('\077'):
 12074  		goto __92
 12075  
 12076  	// ---- Potential {n,m} quantifier ----
 12077  
 12078  	case Tuint32_t('\173'):
 12079  		goto __93
 12080  
 12081  	// ---- Character class ----
 12082  
 12083  	case Tuint32_t('\133'):
 12084  		goto __94 // End of character class
 12085  
 12086  	// ---- Opening parenthesis ----
 12087  
 12088  	case Tuint32_t('\050'):
 12089  		goto __95 // End of ( handling
 12090  
 12091  	// ---- Branch terminators ----
 12092  
 12093  	// Alternation: reset the capture count if we are in a (?| group.
 12094  
 12095  	case Tuint32_t('\174'):
 12096  		goto __96
 12097  
 12098  	// End of group; reset the capture count to the maximum if we are in a (?|
 12099  	//     group and/or reset the options that are tracked during parsing. Disallow
 12100  	//     quantifier for a condition that is an assertion.
 12101  
 12102  	case Tuint32_t('\051'):
 12103  		goto __97
 12104  	}
 12105  	goto __84
 12106  
 12107  __85: // Non-special character
 12108  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12109  	okquantifier = DTRUE
 12110  
 12111  	goto __84
 12112  
 12113  	// ---- Escape sequence ----
 12114  
 12115  __86:
 12116  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 12117  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 12118  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 12119  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12120  		goto __98
 12121  	}
 12122  
 12123  ESCAPE_FAILED:
 12124  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 12125  		goto __99
 12126  	}
 12127  	goto FAILED
 12128  __99:
 12129  	;
 12130  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */))
 12131  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 12132  		goto __100
 12133  	}
 12134  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134')
 12135  	goto __101
 12136  __100:
 12137  
 12138  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 12139  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 12140  		goto __102
 12141  	}
 12142  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 12143  		goto __103
 12144  	}
 12145  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 12146  	goto __104
 12147  __103:
 12148  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 12149  		goto __105
 12150  	}
 12151  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 12152  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 12153  	goto __106
 12154  __105:
 12155  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 12156  		goto __107
 12157  	}
 12158  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 12159  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12160  	goto __108
 12161  __107:
 12162  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 12163  		goto __109
 12164  	}
 12165  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 12166  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 12167  	goto __110
 12168  __109:
 12169  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 12170  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 12171  __110:
 12172  	;
 12173  __108:
 12174  	;
 12175  __106:
 12176  	;
 12177  __104:
 12178  	;
 12179  __102:
 12180  	;
 12181  
 12182  	// Get character value, increment pointer
 12183  __101:
 12184  	;
 12185  	escape = 0 // Treat as literal character
 12186  __98:
 12187  	;
 12188  
 12189  	// The escape was a data escape or literal character.
 12190  
 12191  	if !(escape == 0) {
 12192  		goto __111
 12193  	}
 12194  
 12195  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12196  	okquantifier = DTRUE
 12197  
 12198  	goto __112
 12199  __111:
 12200  	if !(escape < 0) {
 12201  		goto __113
 12202  	}
 12203  
 12204  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(1))
 12205  	escape = -escape
 12206  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF | Tuint32_t(escape)
 12207  	if !(escape < 10) {
 12208  		goto __115
 12209  	}
 12210  
 12211  	if !(*(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) == libc.CplUint64(uint64(0))) {
 12212  		goto __117
 12213  	}
 12214  	*(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) = *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */))
 12215  __117:
 12216  	;
 12217  	goto __116
 12218  __115:
 12219  
 12220  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 12221  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 12222  
 12223  __116:
 12224  	;
 12225  	okquantifier = DTRUE
 12226  	goto __114
 12227  __113:
 12228  	switch escape {
 12229  	case ESC_C:
 12230  		goto __119
 12231  
 12232  	case ESC_X:
 12233  		goto __120
 12234  	case ESC_H:
 12235  		goto __121
 12236  	case ESC_h:
 12237  		goto __122
 12238  	case ESC_N:
 12239  		goto __123
 12240  	case ESC_R:
 12241  		goto __124
 12242  	case ESC_V:
 12243  		goto __125
 12244  	case ESC_v:
 12245  		goto __126
 12246  
 12247  	default:
 12248  		goto __127
 12249  
 12250  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12251  	//       without Unicode support because it is checked when pcre2_compile() is
 12252  	//       called.
 12253  
 12254  	case ESC_d:
 12255  		goto __128
 12256  	case ESC_D:
 12257  		goto __129
 12258  	case ESC_s:
 12259  		goto __130
 12260  	case ESC_S:
 12261  		goto __131
 12262  	case ESC_w:
 12263  		goto __132
 12264  	case ESC_W:
 12265  		goto __133
 12266  
 12267  	// Unicode property matching
 12268  
 12269  	case ESC_P:
 12270  		goto __134
 12271  	case ESC_p:
 12272  		goto __135 // End \P and \p
 12273  
 12274  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12275  	//       numerical or named subroutine call, and control comes here. When used
 12276  	//       with brace delimiters it is a numberical back reference and does not come
 12277  	//       here because check_escape() returns it directly as a reference. \k is
 12278  	//       always a named back reference.
 12279  
 12280  	case ESC_g:
 12281  		goto __136
 12282  	case ESC_k:
 12283  		goto __137
 12284  	}
 12285  	goto __118
 12286  
 12287  __119:
 12288  	if !(options&DPCRE2_NEVER_BACKSLASH_C != Tuint32_t(0)) {
 12289  		goto __138
 12290  	}
 12291  
 12292  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR83
 12293  	goto ESCAPE_FAILED
 12294  __138:
 12295  	;
 12296  	okquantifier = DTRUE
 12297  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12298  	goto __118
 12299  
 12300  __120:
 12301  __121:
 12302  __122:
 12303  __123:
 12304  __124:
 12305  __125:
 12306  __126:
 12307  	okquantifier = DTRUE
 12308  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12309  	goto __118
 12310  
 12311  __127: // \A, \B, \b, \G, \K, \Z, \z cannot be quantified.
 12312  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12313  	goto __118
 12314  
 12315  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12316  	//       without Unicode support because it is checked when pcre2_compile() is
 12317  	//       called.
 12318  
 12319  __128:
 12320  __129:
 12321  __130:
 12322  __131:
 12323  __132:
 12324  __133:
 12325  	okquantifier = DTRUE
 12326  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12327  		goto __139
 12328  	}
 12329  
 12330  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12331  	goto __140
 12332  __139:
 12333  
 12334  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12335  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 12336  			return ESC_p
 12337  		}
 12338  		return ESC_P
 12339  	}()
 12340  	switch escape {
 12341  	case ESC_d:
 12342  		goto __142
 12343  	case ESC_D:
 12344  		goto __143
 12345  
 12346  	case ESC_s:
 12347  		goto __144
 12348  	case ESC_S:
 12349  		goto __145
 12350  
 12351  	case ESC_w:
 12352  		goto __146
 12353  	case ESC_W:
 12354  		goto __147
 12355  	}
 12356  	goto __141
 12357  
 12358  __142:
 12359  __143:
 12360  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 12361  	goto __141
 12362  
 12363  __144:
 12364  __145:
 12365  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 12366  	goto __141
 12367  
 12368  __146:
 12369  __147:
 12370  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12371  	goto __141
 12372  __141:
 12373  	;
 12374  __140:
 12375  	;
 12376  	goto __118
 12377  
 12378  	// Unicode property matching
 12379  
 12380  __134:
 12381  __135:
 12382  
 12383  	*(*Tuint16_t)(unsafe.Pointer(bp + 36 /* ptype */)) = Tuint16_t(0)
 12384  	*(*Tuint16_t)(unsafe.Pointer(bp + 38 /* pdata */)) = Tuint16_t(0)
 12385  	if !!(get_ucp(tls, bp+8, bp+32, bp+36, bp+38, bp+20, cb) != 0) {
 12386  		goto __148
 12387  	}
 12388  	goto ESCAPE_FAILED
 12389  __148:
 12390  	;
 12391  	if !(*(*TBOOL)(unsafe.Pointer(bp + 32)) != 0) {
 12392  		goto __149
 12393  	}
 12394  	if escape == ESC_P {
 12395  		escape = ESC_p
 12396  	} else {
 12397  		escape = ESC_P
 12398  	}
 12399  __149:
 12400  	;
 12401  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12402  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 36)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 38))))
 12403  	okquantifier = DTRUE
 12404  
 12405  	goto __118 // End \P and \p
 12406  
 12407  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12408  	//       numerical or named subroutine call, and control comes here. When used
 12409  	//       with brace delimiters it is a numberical back reference and does not come
 12410  	//       here because check_escape() returns it directly as a reference. \k is
 12411  	//       always a named back reference.
 12412  
 12413  __136:
 12414  __137:
 12415  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\173' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\074' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\047') {
 12416  		goto __150
 12417  	}
 12418  
 12419  	if escape == ESC_g {
 12420  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57
 12421  	} else {
 12422  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR69
 12423  	}
 12424  	goto ESCAPE_FAILED
 12425  __150:
 12426  	;
 12427  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074' {
 12428  		terminator = uint32('\076')
 12429  	} else {
 12430  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047' {
 12431  			terminator = uint32('\047')
 12432  		} else {
 12433  			terminator = uint32('\175')
 12434  		}
 12435  	}
 12436  
 12437  	// For a non-braced \g, check for a numerical recursion.
 12438  
 12439  	if !(escape == ESC_g && terminator != Tuint32_t('\175')) {
 12440  		goto __151
 12441  	}
 12442  
 12443  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)
 12444  
 12445  	if !(read_number(tls, bp+40, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48,
 12446  		bp+20) != 0) {
 12447  		goto __152
 12448  	}
 12449  
 12450  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40))))) != terminator) {
 12451  		goto __153
 12452  	}
 12453  
 12454  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57
 12455  	goto ESCAPE_FAILED
 12456  __153:
 12457  	;
 12458  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */))
 12459  	goto SET_RECURSION
 12460  __152:
 12461  	;
 12462  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12463  		goto __154
 12464  	}
 12465  	goto ESCAPE_FAILED
 12466  __154:
 12467  	;
 12468  __151:
 12469  	;
 12470  
 12471  	// Not a numerical recursion
 12472  
 12473  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 12474  		bp+20, cb) != 0) {
 12475  		goto __155
 12476  	}
 12477  	goto ESCAPE_FAILED
 12478  __155:
 12479  	;
 12480  
 12481  	// \k and \g when used with braces are back references, whereas \g used
 12482  	//       with quotes or angle brackets is a recursion
 12483  
 12484  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12485  		if escape == ESC_k || terminator == Tuint32_t('\175') {
 12486  			return DMETA_BACKREF_BYNAME
 12487  		}
 12488  		return DMETA_RECURSE_BYNAME
 12489  	}()
 12490  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 12491  
 12492  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 12493  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 12494  
 12495  	okquantifier = DTRUE
 12496  	goto __118 // End special escape processing
 12497  __118:
 12498  	;
 12499  __114:
 12500  	;
 12501  __112:
 12502  	;
 12503  	goto __84 // End escape sequence processing
 12504  
 12505  	// ---- Single-character special items ----
 12506  
 12507  __87:
 12508  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 12509  	goto __84
 12510  
 12511  __88:
 12512  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 12513  	goto __84
 12514  
 12515  __89:
 12516  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOT
 12517  	okquantifier = DTRUE
 12518  	goto __84
 12519  
 12520  	// ---- Single-character quantifiers ----
 12521  
 12522  __90:
 12523  	meta_quantifier = DMETA_ASTERISK
 12524  	goto CHECK_QUANTIFIER
 12525  
 12526  __91:
 12527  	meta_quantifier = DMETA_PLUS
 12528  	goto CHECK_QUANTIFIER
 12529  
 12530  __92:
 12531  	meta_quantifier = DMETA_QUERY
 12532  	goto CHECK_QUANTIFIER
 12533  
 12534  	// ---- Potential {n,m} quantifier ----
 12535  
 12536  __93:
 12537  	if !!(read_repeat_counts(tls, bp+8, ptrend, bp+76, bp+80,
 12538  		bp+20) != 0) {
 12539  		goto __156
 12540  	}
 12541  
 12542  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12543  		goto __157
 12544  	}
 12545  	goto FAILED
 12546  __157:
 12547  	; // Error in quantifier.
 12548  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12549  	okquantifier = DTRUE
 12550  	// Not a quantifier
 12551  	goto __84 // No more quantifier processing
 12552  __156:
 12553  	;
 12554  	meta_quantifier = DMETA_MINMAX
 12555  	// Fall through
 12556  
 12557  	// ---- Quantifier post-processing ----
 12558  
 12559  	// Check that a quantifier is allowed after the previous item.
 12560  
 12561  CHECK_QUANTIFIER:
 12562  	if !!(prev_okquantifier != 0) {
 12563  		goto __158
 12564  	}
 12565  
 12566  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR9
 12567  	goto FAILED_BACK
 12568  __158:
 12569  	;
 12570  
 12571  	// Most (*VERB)s are not allowed to be quantified, but an ungreedy
 12572  	//     quantifier can be useful for (*ACCEPT) - meaning "succeed on backtrack", a
 12573  	//     sort of negated (*COMMIT). We therefore allow (*ACCEPT) to be quantified by
 12574  	//     wrapping it in non-capturing brackets, but we have to allow for a preceding
 12575  	//     (*MARK) for when (*ACCEPT) has an argument.
 12576  
 12577  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_ACCEPT) {
 12578  		goto __159
 12579  	}
 12580  
 12581  	p1 = parsed_pattern - uintptr(1)*4
 12582  __160:
 12583  	if !(p1 >= verbstartptr) {
 12584  		goto __162
 12585  	}
 12586  	*(*Tuint32_t)(unsafe.Pointer(p1 + 1*4)) = *(*Tuint32_t)(unsafe.Pointer(p1))
 12587  	goto __161
 12588  __161:
 12589  	p1 -= 4
 12590  	goto __160
 12591  	goto __162
 12592  __162:
 12593  	;
 12594  	*(*Tuint32_t)(unsafe.Pointer(verbstartptr)) = DMETA_NOCAPTURE
 12595  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + 1*4)) = DMETA_KET
 12596  	parsed_pattern += 4 * uintptr(2)
 12597  __159:
 12598  	;
 12599  
 12600  	// Now we can put the quantifier into the parsed pattern vector. At this
 12601  	//     stage, we have only the basic quantifier. The check for a following + or ?
 12602  	//     modifier happens at the top of the loop, after any intervening comments
 12603  	//     have been removed.
 12604  
 12605  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta_quantifier
 12606  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\173')) {
 12607  		goto __163
 12608  	}
 12609  
 12610  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 76 /* min_repeat */))
 12611  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 80 /* max_repeat */))
 12612  __163:
 12613  	;
 12614  	goto __84
 12615  
 12616  	// ---- Character class ----
 12617  
 12618  __94:
 12619  	okquantifier = DTRUE
 12620  
 12621  	// In another (POSIX) regex library, the ugly syntax [[:<:]] and [[:>:]] is
 12622  	//     used for "start of word" and "end of word". As these are otherwise illegal
 12623  	//     sequences, we don't break anything by recognizing them. They are replaced
 12624  	//     by \b(?=\w) and \b(?<=\w) respectively. Sequences like [a[:<:]] are
 12625  	//     erroneous and are handled by the normal code below.
 12626  
 12627  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(6) && (X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+597, uint64(6)) == 0 || X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+604, uint64(6)) == 0)) {
 12628  		goto __164
 12629  	}
 12630  
 12631  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 12632  
 12633  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\074') {
 12634  		goto __165
 12635  	}
 12636  
 12637  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 12638  	goto __166
 12639  __165:
 12640  
 12641  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKBEHIND
 12642  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 12643  
 12644  	/* The offset is used only for the "non-fixed length" error; this won't
 12645  	   occur here, so just store zero. */
 12646  
 12647  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(Tsize_t(uint64(0)) >> 32)
 12648  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(uint64(0) & uint64(0xffffffff))
 12649  
 12650  __166:
 12651  	;
 12652  
 12653  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12654  		goto __167
 12655  	}
 12656  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_w
 12657  	goto __168
 12658  __167:
 12659  
 12660  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_p
 12661  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12662  __168:
 12663  	;
 12664  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 12665  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(6)
 12666  	goto __84
 12667  __164:
 12668  	;
 12669  
 12670  	// PCRE supports POSIX class stuff inside a class. Perl gives an error if
 12671  	//     they are encountered at the top level, so we'll do that too.
 12672  
 12673  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) {
 12674  		goto __169
 12675  	}
 12676  
 12677  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072' {
 12678  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR12
 12679  	} else {
 12680  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13
 12681  	}
 12682  	goto FAILED
 12683  __169:
 12684  	;
 12685  
 12686  	// Process a regular character class. If the first character is '^', set
 12687  	//     the negation flag. If the first few characters (either before or after ^)
 12688  	//     are \Q\E or \E or space or tab in extended-more mode, we skip them too.
 12689  	//     This makes for compatibility with Perl.
 12690  
 12691  	negate_class = DFALSE
 12692  __170:
 12693  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 12694  		goto __171
 12695  	}
 12696  
 12697  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 12698  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 12699  		goto __172
 12700  	}
 12701  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 12702  		goto __173
 12703  	}
 12704  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 12705  	goto __174
 12706  __173:
 12707  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 12708  		goto __175
 12709  	}
 12710  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 12711  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 12712  	goto __176
 12713  __175:
 12714  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 12715  		goto __177
 12716  	}
 12717  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 12718  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12719  	goto __178
 12720  __177:
 12721  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 12722  		goto __179
 12723  	}
 12724  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 12725  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 12726  	goto __180
 12727  __179:
 12728  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 12729  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 12730  __180:
 12731  	;
 12732  __178:
 12733  	;
 12734  __176:
 12735  	;
 12736  __174:
 12737  	;
 12738  __172:
 12739  	;
 12740  
 12741  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134')) {
 12742  		goto __181
 12743  	}
 12744  
 12745  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 12746  		goto __183
 12747  	}
 12748  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 12749  	goto __184
 12750  __183:
 12751  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+611, uint64(3)) == 0) {
 12752  		goto __185
 12753  	}
 12754  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12755  	goto __186
 12756  __185:
 12757  	goto __171
 12758  __186:
 12759  	;
 12760  __184:
 12761  	;
 12762  	goto __182
 12763  __181:
 12764  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) {
 12765  		goto __187
 12766  	} // Note: just these two
 12767  	goto __170
 12768  	goto __188
 12769  __187:
 12770  	if !(!(negate_class != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\136')) {
 12771  		goto __189
 12772  	}
 12773  	negate_class = DTRUE
 12774  	goto __190
 12775  __189:
 12776  	goto __171
 12777  __190:
 12778  	;
 12779  __188:
 12780  	;
 12781  __182:
 12782  	;
 12783  	goto __170
 12784  __171:
 12785  	;
 12786  
 12787  	// Now the real contents of the class; c has the first "real" character.
 12788  	//     Empty classes are permitted only if the option is set.
 12789  
 12790  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_ALLOW_EMPTY_CLASS != Tuint32_t(0)) {
 12791  		goto __191
 12792  	}
 12793  
 12794  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12795  		if negate_class != 0 {
 12796  			return DMETA_CLASS_EMPTY_NOT
 12797  		}
 12798  		return DMETA_CLASS_EMPTY
 12799  	}()
 12800  	goto __84 // End of class processing
 12801  __191:
 12802  	;
 12803  
 12804  	// Process a non-empty class.
 12805  
 12806  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12807  		if negate_class != 0 {
 12808  			return DMETA_CLASS_NOT
 12809  		}
 12810  		return DMETA_CLASS
 12811  	}()
 12812  	class_range_state = RANGE_NO
 12813  
 12814  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 12815  	//     because there are holes in the encoding, and simply using the range A-Z
 12816  	//     (for example) would include the characters in the holes. This applies only
 12817  	//     to ranges where both values are literal; [\xC1-\xE9] is different to [A-Z]
 12818  	//     in this respect. In order to accommodate this, we keep track of whether
 12819  	//     character values are literal or not, and a state variable for handling
 12820  	//     ranges.
 12821  
 12822  	// Loop for the contents of the class
 12823  
 12824  __192:
 12825  	char_is_literal = DTRUE
 12826  
 12827  	// Inside \Q...\E everything is literal except \E
 12828  
 12829  	if !(inescq != 0) {
 12830  		goto __195
 12831  	}
 12832  
 12833  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 12834  		goto __196
 12835  	}
 12836  
 12837  	inescq = DFALSE                                      // Reset literal state
 12838  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip the 'E'
 12839  	goto CLASS_CONTINUE
 12840  __196:
 12841  	;
 12842  	goto CLASS_LITERAL
 12843  __195:
 12844  	;
 12845  
 12846  	// Skip over space and tab (only) in extended-more mode.
 12847  
 12848  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) {
 12849  		goto __197
 12850  	}
 12851  	goto CLASS_CONTINUE
 12852  __197:
 12853  	;
 12854  
 12855  	// Handle POSIX class names. Perl allows a negation extension of the
 12856  	//       form [:^name:]. A square bracket that doesn't match the syntax is
 12857  	//       treated as a literal. We also recognize the POSIX constructions
 12858  	//       [.ch.] and [=ch=] ("collating elements") and fault them, as Perl
 12859  	//       5.6 and 5.8 do.
 12860  
 12861  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\133') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) {
 12862  		goto __198
 12863  	}
 12864  
 12865  	posix_negate = DFALSE
 12866  
 12867  	// Perl treats a hyphen before a POSIX class as a literal, not the
 12868  	//         start of a range. However, it gives a warning in its warning mode. PCRE
 12869  	//         does not have a warning mode, so we give an error, because this is
 12870  	//         likely an error on the user's part.
 12871  
 12872  	if !(class_range_state == Tuint32_t(1)) {
 12873  		goto __200
 12874  	}
 12875  
 12876  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 12877  	goto FAILED
 12878  __200:
 12879  	;
 12880  
 12881  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 12882  		goto __201
 12883  	}
 12884  
 12885  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13
 12886  	goto FAILED_BACK
 12887  __201:
 12888  	;
 12889  
 12890  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\136') {
 12891  		goto __202
 12892  	}
 12893  
 12894  	posix_negate = DTRUE
 12895  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 12896  __202:
 12897  	;
 12898  
 12899  	posix_class = check_posix_name(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), int32((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1))
 12900  	if !(posix_class < 0) {
 12901  		goto __203
 12902  	}
 12903  
 12904  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR30
 12905  	goto FAILED
 12906  __203:
 12907  	;
 12908  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(2)
 12909  
 12910  	// Perl treats a hyphen after a POSIX class as a literal, not the
 12911  	//         start of a range. However, it gives a warning in its warning mode
 12912  	//         unless the hyphen is the last character in the class. PCRE does not
 12913  	//         have a warning mode, so we give an error, because this is likely an
 12914  	//         error on the user's part.
 12915  
 12916  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') {
 12917  		goto __204
 12918  	}
 12919  
 12920  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 12921  	goto FAILED
 12922  __204:
 12923  	;
 12924  
 12925  	// Set "a hyphen is not the start of a range" for the -] case, and also
 12926  	//         in case the POSIX class is followed by \E or \Q\E (possibly repeated -
 12927  	//         fuzzers do that kind of thing) and *then* a hyphen. This causes that
 12928  	//         hyphen to be treated as a literal. I don't think it's worth setting up
 12929  	//         special apparatus to do otherwise.
 12930  
 12931  	class_range_state = RANGE_NO
 12932  
 12933  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 12934  	//         use Unicode properties \p or \P or, in one case, \h or \H. The
 12935  	//         substitutes table has two values per class, containing the type and
 12936  	//         value of a \p or \P item. The special cases are specified with a
 12937  	//         negative type: a non-zero value causes \h or \H to be used, and a zero
 12938  	//         value falls through to behave like a non-UCP POSIX class.
 12939  
 12940  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 12941  		goto __205
 12942  	}
 12943  
 12944  	ptype1 = posix_substitutes[2*posix_class]
 12945  	pvalue = posix_substitutes[2*posix_class+1]
 12946  	if !(ptype1 >= 0) {
 12947  		goto __206
 12948  	}
 12949  
 12950  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12951  		if posix_negate != 0 {
 12952  			return ESC_P
 12953  		}
 12954  		return ESC_p
 12955  	}()
 12956  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(ptype1<<16 | pvalue)
 12957  	goto CLASS_CONTINUE
 12958  __206:
 12959  	;
 12960  
 12961  	if !(pvalue != 0) {
 12962  		goto __207
 12963  	}
 12964  
 12965  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12966  		if posix_negate != 0 {
 12967  			return ESC_H
 12968  		}
 12969  		return ESC_h
 12970  	}()
 12971  	goto CLASS_CONTINUE
 12972  __207:
 12973  	;
 12974  
 12975  	// Fall through
 12976  __205:
 12977  	;
 12978  
 12979  	// Non-UCP POSIX class
 12980  
 12981  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12982  		if posix_negate != 0 {
 12983  			return DMETA_POSIX_NEG
 12984  		}
 12985  		return DMETA_POSIX
 12986  	}()
 12987  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(posix_class)
 12988  	goto __199
 12989  __198:
 12990  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\055') && class_range_state >= RANGE_OK_ESCAPED) {
 12991  		goto __208
 12992  	}
 12993  
 12994  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12995  		if class_range_state == RANGE_OK_LITERAL {
 12996  			return DMETA_RANGE_LITERAL
 12997  		}
 12998  		return DMETA_RANGE_ESCAPED
 12999  	}()
 13000  	class_range_state = Tuint32_t(1) /* RANGE_STARTED */
 13001  	goto __209
 13002  __208:
 13003  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\134')) {
 13004  		goto __210
 13005  	}
 13006  
 13007  CLASS_LITERAL:
 13008  	if !(class_range_state == Tuint32_t(1)) {
 13009  		goto __212
 13010  	}
 13011  
 13012  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4))) {
 13013  		goto __214
 13014  	} // Optimize one-char range
 13015  	parsed_pattern -= 4
 13016  	goto __215
 13017  __214:
 13018  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4)) > *(*Tuint32_t)(unsafe.Pointer(bp + 16))) {
 13019  		goto __216
 13020  	} /* Check range is in order */
 13021  
 13022  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR8
 13023  	goto FAILED_BACK
 13024  	goto __217
 13025  __216:
 13026  
 13027  	if !(!(char_is_literal != 0) && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_RANGE_LITERAL) {
 13028  		goto __218
 13029  	}
 13030  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = DMETA_RANGE_ESCAPED
 13031  __218:
 13032  	;
 13033  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 13034  	okquantifier = DTRUE
 13035  
 13036  __217:
 13037  	;
 13038  __215:
 13039  	;
 13040  	class_range_state = RANGE_NO
 13041  	goto __213
 13042  __212: /* Potential start of range */
 13043  
 13044  	if char_is_literal != 0 {
 13045  		class_range_state = RANGE_OK_LITERAL
 13046  	} else {
 13047  		class_range_state = RANGE_OK_ESCAPED
 13048  	}
 13049  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 13050  	okquantifier = DTRUE
 13051  
 13052  __213:
 13053  	;
 13054  	goto __211
 13055  __210:
 13056  
 13057  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 13058  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 13059  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DTRUE, cb)
 13060  
 13061  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 13062  		goto __219
 13063  	}
 13064  
 13065  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 13066  		goto __220
 13067  	}
 13068  	goto FAILED
 13069  __220:
 13070  	;
 13071  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */))
 13072  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13073  		goto __221
 13074  	}
 13075  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134')
 13076  	goto __222
 13077  __221:
 13078  
 13079  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 13080  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 13081  		goto __223
 13082  	}
 13083  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 13084  		goto __224
 13085  	}
 13086  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 13087  	goto __225
 13088  __224:
 13089  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 13090  		goto __226
 13091  	}
 13092  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 13093  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 13094  	goto __227
 13095  __226:
 13096  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 13097  		goto __228
 13098  	}
 13099  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 13100  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 13101  	goto __229
 13102  __228:
 13103  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 13104  		goto __230
 13105  	}
 13106  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 13107  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 13108  	goto __231
 13109  __230:
 13110  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 13111  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 13112  __231:
 13113  	;
 13114  __229:
 13115  	;
 13116  __227:
 13117  	;
 13118  __225:
 13119  	;
 13120  __223:
 13121  	;
 13122  
 13123  	// Get character value, increment pointer
 13124  __222:
 13125  	;
 13126  	escape = 0 // Treat as literal character
 13127  __219:
 13128  	;
 13129  
 13130  	switch escape {
 13131  	case 0:
 13132  		goto __233
 13133  
 13134  	case ESC_b:
 13135  		goto __234
 13136  
 13137  	case ESC_Q:
 13138  		goto __235
 13139  
 13140  	case ESC_E:
 13141  		goto __236
 13142  
 13143  	case ESC_B:
 13144  		goto __237 // Always an error in a class
 13145  	case ESC_R:
 13146  		goto __238
 13147  	case ESC_X:
 13148  		goto __239
 13149  	}
 13150  	goto __232
 13151  
 13152  __233: // Escaped character code point is in c
 13153  	char_is_literal = DFALSE
 13154  	goto CLASS_LITERAL
 13155  
 13156  __234:
 13157  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\010') // \b is backspace in a class
 13158  	char_is_literal = DFALSE
 13159  	goto CLASS_LITERAL
 13160  
 13161  __235:
 13162  	inescq = DTRUE // Enter literal mode
 13163  	goto CLASS_CONTINUE
 13164  
 13165  __236: // Ignore orphan \E
 13166  	goto CLASS_CONTINUE
 13167  
 13168  __237: // Always an error in a class
 13169  __238:
 13170  __239:
 13171  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7
 13172  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13173  	goto FAILED
 13174  __232:
 13175  	;
 13176  
 13177  	// The second part of a range can be a single-character escape
 13178  	//         sequence (detected above), but not any of the other escapes. Perl
 13179  	//         treats a hyphen as a literal in such circumstances. However, in Perl's
 13180  	//         warning mode, a warning is given, so PCRE now faults it, as it is
 13181  	//         almost certainly a mistake on the user's part.
 13182  
 13183  	if !(class_range_state == Tuint32_t(1)) {
 13184  		goto __240
 13185  	}
 13186  
 13187  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 13188  	goto FAILED // Not CLASS_ESCAPE_FAILED; always an error
 13189  __240:
 13190  	;
 13191  
 13192  	// Of the remaining escapes, only those that define characters are
 13193  	//         allowed in a class. None may start a range.
 13194  
 13195  	class_range_state = RANGE_NO
 13196  	switch escape {
 13197  	case ESC_N:
 13198  		goto __242
 13199  
 13200  	case ESC_H:
 13201  		goto __243
 13202  	case ESC_h:
 13203  		goto __244
 13204  	case ESC_V:
 13205  		goto __245
 13206  	case ESC_v:
 13207  		goto __246
 13208  
 13209  	// These escapes are converted to Unicode property tests when
 13210  	//           PCRE2_UCP is set.
 13211  
 13212  	case ESC_d:
 13213  		goto __247
 13214  	case ESC_D:
 13215  		goto __248
 13216  	case ESC_s:
 13217  		goto __249
 13218  	case ESC_S:
 13219  		goto __250
 13220  	case ESC_w:
 13221  		goto __251
 13222  	case ESC_W:
 13223  		goto __252
 13224  
 13225  	// Explicit Unicode property matching
 13226  
 13227  	case ESC_P:
 13228  		goto __253
 13229  	case ESC_p:
 13230  		goto __254 // End \P and \p
 13231  
 13232  	default:
 13233  		goto __255
 13234  	}
 13235  	goto __241
 13236  
 13237  __242:
 13238  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR71
 13239  	goto FAILED
 13240  
 13241  __243:
 13242  __244:
 13243  __245:
 13244  __246:
 13245  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13246  	goto __241
 13247  
 13248  	// These escapes are converted to Unicode property tests when
 13249  	//           PCRE2_UCP is set.
 13250  
 13251  __247:
 13252  __248:
 13253  __249:
 13254  __250:
 13255  __251:
 13256  __252:
 13257  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 13258  		goto __256
 13259  	}
 13260  
 13261  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13262  	goto __257
 13263  __256:
 13264  
 13265  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 13266  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 13267  			return ESC_p
 13268  		}
 13269  		return ESC_P
 13270  	}()
 13271  	switch escape {
 13272  	case ESC_d:
 13273  		goto __259
 13274  	case ESC_D:
 13275  		goto __260
 13276  
 13277  	case ESC_s:
 13278  		goto __261
 13279  	case ESC_S:
 13280  		goto __262
 13281  
 13282  	case ESC_w:
 13283  		goto __263
 13284  	case ESC_W:
 13285  		goto __264
 13286  	}
 13287  	goto __258
 13288  
 13289  __259:
 13290  __260:
 13291  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 13292  	goto __258
 13293  
 13294  __261:
 13295  __262:
 13296  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 13297  	goto __258
 13298  
 13299  __263:
 13300  __264:
 13301  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 13302  	goto __258
 13303  __258:
 13304  	;
 13305  __257:
 13306  	;
 13307  	goto __241
 13308  
 13309  	// Explicit Unicode property matching
 13310  
 13311  __253:
 13312  __254:
 13313  
 13314  	*(*Tuint16_t)(unsafe.Pointer(bp + 88 /* ptype2 */)) = Tuint16_t(0)
 13315  	*(*Tuint16_t)(unsafe.Pointer(bp + 90 /* pdata1 */)) = Tuint16_t(0)
 13316  	if !!(get_ucp(tls, bp+8, bp+84, bp+88, bp+90, bp+20, cb) != 0) {
 13317  		goto __265
 13318  	}
 13319  	goto FAILED
 13320  __265:
 13321  	;
 13322  	if !(*(*TBOOL)(unsafe.Pointer(bp + 84)) != 0) {
 13323  		goto __266
 13324  	}
 13325  	if escape == ESC_P {
 13326  		escape = ESC_p
 13327  	} else {
 13328  		escape = ESC_P
 13329  	}
 13330  __266:
 13331  	;
 13332  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13333  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 88)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 90))))
 13334  
 13335  	goto __241 // End \P and \p
 13336  
 13337  __255: // All others are not allowed in a class
 13338  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7
 13339  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13340  	goto FAILED
 13341  __241:
 13342  	;
 13343  
 13344  	// Perl gives a warning unless a following hyphen is the last character
 13345  	//         in the class. PCRE throws an error.
 13346  
 13347  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') {
 13348  		goto __267
 13349  	}
 13350  
 13351  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 13352  	goto FAILED
 13353  __267:
 13354  	;
 13355  __211:
 13356  	;
 13357  __209:
 13358  	;
 13359  __199:
 13360  	;
 13361  
 13362  	// Proceed to next thing in the class.
 13363  
 13364  CLASS_CONTINUE:
 13365  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13366  		goto __268
 13367  	}
 13368  
 13369  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR6 // Missing terminating ']'
 13370  	goto FAILED
 13371  __268:
 13372  	;
 13373  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 13374  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 13375  		goto __269
 13376  	}
 13377  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 13378  		goto __270
 13379  	}
 13380  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 13381  	goto __271
 13382  __270:
 13383  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 13384  		goto __272
 13385  	}
 13386  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 13387  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 13388  	goto __273
 13389  __272:
 13390  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 13391  		goto __274
 13392  	}
 13393  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 13394  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 13395  	goto __275
 13396  __274:
 13397  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 13398  		goto __276
 13399  	}
 13400  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 13401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 13402  	goto __277
 13403  __276:
 13404  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 13405  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 13406  __277:
 13407  	;
 13408  __275:
 13409  	;
 13410  __273:
 13411  	;
 13412  __271:
 13413  	;
 13414  __269:
 13415  	;
 13416  
 13417  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && !(inescq != 0)) {
 13418  		goto __278
 13419  	}
 13420  	goto __194
 13421  __278:
 13422  	;
 13423  	goto __193
 13424  __193:
 13425  	goto __192
 13426  	goto __194
 13427  __194:
 13428  	; // End of class-processing loop
 13429  
 13430  	// -] at the end of a class is a literal '-'
 13431  
 13432  	if !(class_range_state == Tuint32_t(1)) {
 13433  		goto __279
 13434  	}
 13435  
 13436  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = Tuint32_t('\055')
 13437  	class_range_state = RANGE_NO
 13438  __279:
 13439  	;
 13440  
 13441  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CLASS_END
 13442  	goto __84 // End of character class
 13443  
 13444  	// ---- Opening parenthesis ----
 13445  
 13446  __95:
 13447  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13448  		goto __280
 13449  	}
 13450  	goto UNCLOSED_PARENTHESIS
 13451  __280:
 13452  	;
 13453  
 13454  	// If ( is not followed by ? it is either a capture or a special verb or an
 13455  	//     alpha assertion or a positive non-atomic lookahead.
 13456  
 13457  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\077') {
 13458  		goto __281
 13459  	}
 13460  
 13461  	// Handle capturing brackets (or non-capturing if auto-capture is turned
 13462  	//       off).
 13463  
 13464  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\052') {
 13465  		goto __282
 13466  	}
 13467  
 13468  	nest_depth++
 13469  	if !(options&DPCRE2_NO_AUTO_CAPTURE == Tuint32_t(0)) {
 13470  		goto __284
 13471  	}
 13472  
 13473  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 13474  		goto __286
 13475  	}
 13476  
 13477  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97
 13478  	goto FAILED
 13479  __286:
 13480  	;
 13481  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 13482  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 13483  	goto __285
 13484  __284:
 13485  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13486  __285:
 13487  	;
 13488  	goto __283
 13489  __282:
 13490  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || libc.AssignPtrUint32(bp+16, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))) == Tuint32_t('\051')) {
 13491  		goto __287
 13492  	}
 13493  	goto __84
 13494  	goto __288
 13495  __287:
 13496  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_lcletter != 0) {
 13497  		goto __289
 13498  	}
 13499  
 13500  	vn = uintptr(unsafe.Pointer(&alasnames))
 13501  	if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72,
 13502  		bp+20, cb) != 0) {
 13503  		goto __291
 13504  	}
 13505  	goto FAILED
 13506  __291:
 13507  	;
 13508  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13509  		goto __292
 13510  	}
 13511  
 13512  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Malformed
 13513  	goto FAILED
 13514  __292:
 13515  	;
 13516  
 13517  	// Scan the table of alpha assertion names
 13518  
 13519  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 13520  __293:
 13521  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < alascount) {
 13522  		goto __295
 13523  	}
 13524  
 13525  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 13526  		goto __296
 13527  	}
 13528  	goto __295
 13529  __296:
 13530  	;
 13531  	vn += uintptr(alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1))
 13532  	goto __294
 13533  __294:
 13534  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 13535  	goto __293
 13536  	goto __295
 13537  __295:
 13538  	;
 13539  
 13540  	if !(*(*int32)(unsafe.Pointer(bp + 48)) >= alascount) {
 13541  		goto __297
 13542  	}
 13543  
 13544  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Alpha assertion not recognized
 13545  	goto FAILED
 13546  __297:
 13547  	;
 13548  
 13549  	// Check for expecting an assertion condition. If so, only atomic
 13550  	//         lookaround assertions are valid.
 13551  
 13552  	meta = alasmeta[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13553  	if !(prev_expect_cond_assert > 0 && (meta < DMETA_LOOKAHEAD || meta > DMETA_LOOKBEHINDNOT)) {
 13554  		goto __298
 13555  	}
 13556  
 13557  	if meta == DMETA_LOOKAHEAD_NA || meta == DMETA_LOOKBEHIND_NA {
 13558  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR98
 13559  	} else {
 13560  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 13561  	} // (Atomic) assertion expected
 13562  	goto FAILED
 13563  __298:
 13564  	;
 13565  
 13566  	// The lookaround alphabetic synonyms can mostly be handled by jumping
 13567  	//         to the code that handles the traditional symbolic forms.
 13568  
 13569  	switch meta {
 13570  	default:
 13571  		goto __300 // the meta values come from a table above.
 13572  
 13573  	case DMETA_ATOMIC:
 13574  		goto __301
 13575  
 13576  	case DMETA_LOOKAHEAD:
 13577  		goto __302
 13578  
 13579  	case DMETA_LOOKAHEAD_NA:
 13580  		goto __303
 13581  
 13582  	case DMETA_LOOKAHEADNOT:
 13583  		goto __304
 13584  
 13585  	case DMETA_LOOKBEHIND:
 13586  		goto __305
 13587  	case DMETA_LOOKBEHINDNOT:
 13588  		goto __306
 13589  	case DMETA_LOOKBEHIND_NA:
 13590  		goto __307
 13591  
 13592  	// The script run facilities are handled here. Unicode support is
 13593  	//           required (give an error if not, as this is a security issue). Always
 13594  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13595  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13596  
 13597  	case DMETA_SCRIPT_RUN:
 13598  		goto __308
 13599  	case DMETA_ATOMIC_SCRIPT_RUN:
 13600  		goto __309
 13601  	}
 13602  	goto __299
 13603  
 13604  __300:
 13605  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR89 // Unknown code; should never occur because
 13606  	goto FAILED                                                // the meta values come from a table above.
 13607  
 13608  __301:
 13609  	goto ATOMIC_GROUP
 13610  
 13611  __302:
 13612  	goto POSITIVE_LOOK_AHEAD
 13613  
 13614  __303:
 13615  	goto POSITIVE_NONATOMIC_LOOK_AHEAD
 13616  
 13617  __304:
 13618  	goto NEGATIVE_LOOK_AHEAD
 13619  
 13620  __305:
 13621  __306:
 13622  __307:
 13623  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta
 13624  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13625  	goto POST_LOOKBEHIND
 13626  
 13627  	// The script run facilities are handled here. Unicode support is
 13628  	//           required (give an error if not, as this is a security issue). Always
 13629  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13630  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13631  
 13632  __308:
 13633  __309:
 13634  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_SCRIPT_RUN
 13635  	nest_depth++
 13636  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13637  	if !(meta == DMETA_ATOMIC_SCRIPT_RUN) {
 13638  		goto __310
 13639  	}
 13640  
 13641  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 13642  	if !(top_nest == uintptr(0)) {
 13643  		goto __311
 13644  	}
 13645  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13646  	goto __312
 13647  __311:
 13648  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13649  		goto __313
 13650  	}
 13651  
 13652  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 13653  	goto FAILED
 13654  __313:
 13655  	;
 13656  __312:
 13657  	;
 13658  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13659  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_ATOMICSR)
 13660  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 13661  __310:
 13662  	;
 13663  	goto __299
 13664  __299:
 13665  	;
 13666  	goto __290
 13667  __289:
 13668  
 13669  	vn = uintptr(unsafe.Pointer(&verbnames))
 13670  	if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72,
 13671  		bp+20, cb) != 0) {
 13672  		goto __314
 13673  	}
 13674  	goto FAILED
 13675  __314:
 13676  	;
 13677  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 13678  		goto __315
 13679  	}
 13680  
 13681  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Malformed
 13682  	goto FAILED
 13683  __315:
 13684  	;
 13685  
 13686  	// Scan the table of verb names
 13687  
 13688  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 13689  __316:
 13690  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < verbcount) {
 13691  		goto __318
 13692  	}
 13693  
 13694  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 13695  		goto __319
 13696  	}
 13697  	goto __318
 13698  __319:
 13699  	;
 13700  	vn += uintptr(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1))
 13701  	goto __317
 13702  __317:
 13703  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 13704  	goto __316
 13705  	goto __318
 13706  __318:
 13707  	;
 13708  
 13709  	if !(*(*int32)(unsafe.Pointer(bp + 48)) >= verbcount) {
 13710  		goto __320
 13711  	}
 13712  
 13713  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Verb not recognized
 13714  	goto FAILED
 13715  __320:
 13716  	;
 13717  
 13718  	// An empty argument is treated as no argument.
 13719  
 13720  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))+uintptr(1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\051') {
 13721  		goto __321
 13722  	}
 13723  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13724  __321:
 13725  	; // Advance to the closing parens
 13726  
 13727  	// Check for mandatory non-empty argument; this is (*MARK)
 13728  
 13729  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13730  		goto __322
 13731  	}
 13732  
 13733  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR66
 13734  	goto FAILED
 13735  __322:
 13736  	;
 13737  
 13738  	// Remember where this verb, possibly with a preceding (*MARK), starts,
 13739  	//         for handling quantified (*ACCEPT).
 13740  
 13741  	verbstartptr = parsed_pattern
 13742  	okquantifier = libc.Bool32(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta == DMETA_ACCEPT)
 13743  
 13744  	// It appears that Perl allows any characters whatsoever, other than a
 13745  	//         closing parenthesis, to appear in arguments ("names"), so we no longer
 13746  	//         insist on letters, digits, and underscores. Perl does not, however, do
 13747  	//         any interpretation within arguments, and has no means of including a
 13748  	//         closing parenthesis. PCRE supports escape processing but only when it
 13749  	//         is requested by an option. We set inverbname TRUE here, and let the
 13750  	//         main loop take care of this so that escape and \x processing is done by
 13751  	//         the main code above.
 13752  
 13753  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072') {
 13754  		goto __323
 13755  	} /* Skip past : or ) */
 13756  
 13757  	// Some optional arguments can be treated as a preceding (*MARK)
 13758  
 13759  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg < 0) {
 13760  		goto __325
 13761  	}
 13762  
 13763  	add_after_mark = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13764  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_MARK
 13765  	goto __326
 13766  __325:
 13767  
 13768  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta + func() uint32 {
 13769  		if verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta != DMETA_MARK {
 13770  			return 0x00010000
 13771  		}
 13772  		return uint32(0)
 13773  	}()
 13774  __326:
 13775  	;
 13776  
 13777  	// Set up for reading the name in the main loop.
 13778  
 13779  	verblengthptr = libc.PostIncUintptr(&parsed_pattern, 4)
 13780  	verbnamestart = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 13781  	inverbname = DTRUE
 13782  	goto __324
 13783  __323: /* No verb "name" argument */
 13784  
 13785  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13786  __324:
 13787  	;
 13788  __290:
 13789  	;
 13790  __288:
 13791  	;
 13792  __283:
 13793  	;         // End of (*VERB) handling
 13794  	goto __84 // Done with this parenthesis
 13795  __281:
 13796  	; // End of groups that don't start with (?
 13797  
 13798  	// ---- Items starting (? ----
 13799  
 13800  	// The type of item is determined by what follows (?. Handle (?| and option
 13801  	//     changes under "default" because both need a new block on the nest stack.
 13802  	//     Comments starting with (?# are handled above. Note that there is some
 13803  	//     ambiguity about the sequence (?- because if a digit follows it's a relative
 13804  	//     recursion or subroutine call whereas otherwise it's an option unsetting.
 13805  
 13806  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 13807  		goto __327
 13808  	}
 13809  	goto UNCLOSED_PARENTHESIS
 13810  __327:
 13811  	;
 13812  
 13813  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))))) {
 13814  	default:
 13815  		goto __329 // End default case after (?
 13816  
 13817  	// ---- Python syntax support ----
 13818  
 13819  	case '\120':
 13820  		goto __330 // End of (?P processing
 13821  
 13822  	// ---- Recursion/subroutine calls by number ----
 13823  
 13824  	case '\122':
 13825  		goto __331
 13826  
 13827  	// An item starting (?- followed by a digit comes here via the "default"
 13828  	//       case because (?- followed by a non-digit is an options setting.
 13829  
 13830  	case '\053':
 13831  		goto __332
 13832  	// Fall through
 13833  
 13834  	case '\060':
 13835  		goto __333
 13836  	case '\061':
 13837  		goto __334
 13838  	case '\062':
 13839  		goto __335
 13840  	case '\063':
 13841  		goto __336
 13842  	case '\064':
 13843  		goto __337
 13844  	case '\065':
 13845  		goto __338
 13846  	case '\066':
 13847  		goto __339
 13848  	case '\067':
 13849  		goto __340
 13850  	case '\070':
 13851  		goto __341
 13852  	case '\071':
 13853  		goto __342 // End of recursive call by number handling
 13854  
 13855  	// ---- Recursion/subroutine calls by name ----
 13856  
 13857  	case '\046':
 13858  		goto __343
 13859  
 13860  	// ---- Callout with numerical or string argument ----
 13861  
 13862  	case '\103':
 13863  		goto __344 // End callout
 13864  
 13865  	// ---- Conditional group ----
 13866  
 13867  	// A condition can be an assertion, a number (referring to a numbered
 13868  	//       group's having been set), a name (referring to a named group), or 'R',
 13869  	//       referring to overall recursion. R<digits> and R&name are also permitted
 13870  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 13871  	//       relative group number.
 13872  	//
 13873  	//       There are several syntaxes for testing a named group: (?(name)) is used
 13874  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 13875  	//
 13876  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 13877  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 13878  	//       the Perl DEFINE feature or the Python named test. We look for a name
 13879  	//       first; if not found, we try the other case.
 13880  	//
 13881  	//       For compatibility with auto-callouts, we allow a callout to be specified
 13882  	//       before a condition that is an assertion.
 13883  
 13884  	case '\050':
 13885  		goto __345 // End of condition processing
 13886  
 13887  	// ---- Atomic group ----
 13888  
 13889  	case '\076':
 13890  		goto __346
 13891  
 13892  	// ---- Lookahead assertions ----
 13893  
 13894  	case '\075':
 13895  		goto __347
 13896  
 13897  	case '\052':
 13898  		goto __348
 13899  
 13900  	case '\041':
 13901  		goto __349
 13902  
 13903  	// ---- Lookbehind assertions ----
 13904  
 13905  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 13906  	//       is the start of the name of a capturing group.
 13907  
 13908  	case '\074':
 13909  		goto __350
 13910  
 13911  	// ---- Define a named group ----
 13912  
 13913  	// A named group may be defined as (?'name') or (?<name>). In the latter
 13914  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 13915  	//       terminator set to '>'.
 13916  
 13917  	case '\047':
 13918  		goto __351
 13919  	}
 13920  	goto __328
 13921  
 13922  __329:
 13923  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) {
 13924  		goto __352
 13925  	}
 13926  	goto RECURSION_BYNUMBER
 13927  __352:
 13928  	; // The + case is handled by CHAR_PLUS
 13929  
 13930  	// We now have either (?| or a (possibly empty) option setting,
 13931  	//       optionally followed by a non-capturing group.
 13932  
 13933  	nest_depth++
 13934  	if !(top_nest == uintptr(0)) {
 13935  		goto __353
 13936  	}
 13937  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13938  	goto __354
 13939  __353:
 13940  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13941  		goto __355
 13942  	}
 13943  
 13944  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 13945  	goto FAILED
 13946  __355:
 13947  	;
 13948  __354:
 13949  	;
 13950  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13951  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = Tuint16_t(0)
 13952  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 13953  
 13954  	// Start of non-capturing group that resets the capture count for each
 13955  	//       branch.
 13956  
 13957  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\174') {
 13958  		goto __356
 13959  	}
 13960  
 13961  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13962  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13963  	*(*Tuint16_t)(unsafe.Pointer(top_nest + 6)) |= uint16(DNSF_RESET)
 13964  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_DUPCAPUSED)
 13965  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13966  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13967  	goto __357
 13968  __356:
 13969  
 13970  	hyphenok = DTRUE
 13971  	oldoptions = options
 13972  
 13973  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t(0)
 13974  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t(0)
 13975  	*(*Tuint32_t)(unsafe.Pointer(bp + 92 /* set */)) = libc.AssignPtrUint32(bp+96 /* unset */, Tuint32_t(0))
 13976  	optset = bp + 92 /* &set */
 13977  
 13978  	// ^ at the start unsets imnsx and disables the subsequent use of -
 13979  
 13980  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\136') {
 13981  		goto __358
 13982  	}
 13983  
 13984  	options = options & libc.CplUint32(DPCRE2_CASELESS|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_DOTALL|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE)
 13985  	hyphenok = DFALSE
 13986  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13987  __358:
 13988  	;
 13989  
 13990  __359:
 13991  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13992  		goto __360
 13993  	}
 13994  
 13995  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) {
 13996  	case '\055':
 13997  		goto __362
 13998  
 13999  	case '\112':
 14000  		goto __363
 14001  
 14002  	case '\151':
 14003  		goto __364
 14004  	case '\155':
 14005  		goto __365
 14006  	case '\156':
 14007  		goto __366
 14008  	case '\163':
 14009  		goto __367
 14010  	case '\125':
 14011  		goto __368
 14012  
 14013  	// If x appears twice it sets the extended extended option.
 14014  
 14015  	case '\170':
 14016  		goto __369
 14017  
 14018  	default:
 14019  		goto __370
 14020  	}
 14021  	goto __361
 14022  
 14023  __362:
 14024  	if !!(hyphenok != 0) {
 14025  		goto __371
 14026  	}
 14027  
 14028  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR94
 14029  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset
 14030  	goto FAILED
 14031  __371:
 14032  	;
 14033  	optset = bp + 96 /* &unset */
 14034  	hyphenok = DFALSE
 14035  	goto __361
 14036  
 14037  __363: // Record that it changed in the external options
 14038  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DUPNAMES
 14039  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_JCHANGED)
 14040  	goto __361
 14041  
 14042  __364:
 14043  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_CASELESS
 14044  	goto __361
 14045  __365:
 14046  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_MULTILINE
 14047  	goto __361
 14048  __366:
 14049  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_NO_AUTO_CAPTURE
 14050  	goto __361
 14051  __367:
 14052  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DOTALL
 14053  	goto __361
 14054  __368:
 14055  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_UNGREEDY
 14056  	goto __361
 14057  
 14058  	// If x appears twice it sets the extended extended option.
 14059  
 14060  __369:
 14061  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED
 14062  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\170') {
 14063  		goto __372
 14064  	}
 14065  
 14066  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED_MORE
 14067  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14068  __372:
 14069  	;
 14070  	goto __361
 14071  
 14072  __370:
 14073  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR11
 14074  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset
 14075  	goto FAILED
 14076  __361:
 14077  	;
 14078  	goto __359
 14079  __360:
 14080  	;
 14081  
 14082  	// If we are setting extended without extended-more, ensure that any
 14083  	//         existing extended-more gets unset. Also, unsetting extended must also
 14084  	//         unset extended-more.
 14085  
 14086  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 92))&(DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE) == DPCRE2_EXTENDED || *(*Tuint32_t)(unsafe.Pointer(bp + 96))&DPCRE2_EXTENDED != Tuint32_t(0)) {
 14087  		goto __373
 14088  	}
 14089  	*(*Tuint32_t)(unsafe.Pointer(bp + 96 /* unset */)) |= DPCRE2_EXTENDED_MORE
 14090  __373:
 14091  	;
 14092  
 14093  	options = (options | *(*Tuint32_t)(unsafe.Pointer(bp + 92))) & ^*(*Tuint32_t)(unsafe.Pointer(bp + 96))
 14094  
 14095  	// If the options ended with ')' this is not the start of a nested
 14096  	//         group with option changes, so the options change at this level.
 14097  	//         In this case, if the previous level set up a nest block, discard the
 14098  	//         one we have just created. Otherwise adjust it for the previous level.
 14099  	//         If the options ended with ':' we are starting a non-capturing group,
 14100  	//         possibly with an options setting.
 14101  
 14102  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14103  		goto __374
 14104  	}
 14105  	goto UNCLOSED_PARENTHESIS
 14106  __374:
 14107  	;
 14108  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\051') {
 14109  		goto __375
 14110  	}
 14111  
 14112  	nest_depth-- // This is not a nested group after all.
 14113  	if !(top_nest > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace && int32((*Tnest_save)(unsafe.Pointer(top_nest-uintptr(1)*12)).Fnest_depth) == int32(nest_depth)) {
 14114  		goto __377
 14115  	}
 14116  	top_nest -= 12
 14117  	goto __378
 14118  __377:
 14119  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14120  __378:
 14121  	;
 14122  	goto __376
 14123  __375:
 14124  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 14125  __376:
 14126  	;
 14127  
 14128  	// If nothing changed, no need to record.
 14129  
 14130  	if !(options != oldoptions) {
 14131  		goto __379
 14132  	}
 14133  
 14134  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_OPTIONS
 14135  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = options
 14136  __379:
 14137  	;
 14138  __357:
 14139  	;          // End options processing
 14140  	goto __328 // End default case after (?
 14141  
 14142  	// ---- Python syntax support ----
 14143  
 14144  __330:
 14145  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14146  		goto __380
 14147  	}
 14148  	goto UNCLOSED_PARENTHESIS
 14149  __380:
 14150  	;
 14151  
 14152  	// (?P<name> is the same as (?<name>, which defines a named group.
 14153  
 14154  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') {
 14155  		goto __381
 14156  	}
 14157  
 14158  	terminator = Tuint32_t('\076')
 14159  	goto DEFINE_NAME
 14160  __381:
 14161  	;
 14162  
 14163  	// (?P>name) is the same as (?&name), which is a recursion or subroutine
 14164  	//       call.
 14165  
 14166  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') {
 14167  		goto __382
 14168  	}
 14169  	goto RECURSE_BY_NAME
 14170  __382:
 14171  	;
 14172  
 14173  	// (?P=name) is the same as \k<name>, a back reference by name. Anything
 14174  	//       else after (?P is an error.
 14175  
 14176  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075') {
 14177  		goto __383
 14178  	}
 14179  
 14180  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR41
 14181  	goto FAILED
 14182  __383:
 14183  	;
 14184  	if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64,
 14185  		bp+72, bp+20, cb) != 0) {
 14186  		goto __384
 14187  	}
 14188  	goto FAILED
 14189  __384:
 14190  	;
 14191  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF_BYNAME
 14192  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14193  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14194  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14195  
 14196  	okquantifier = DTRUE
 14197  	goto __328 // End of (?P processing
 14198  
 14199  	// ---- Recursion/subroutine calls by number ----
 14200  
 14201  __331:
 14202  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 // (?R) == (?R0)
 14203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14204  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14205  		goto __385
 14206  	}
 14207  
 14208  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR58
 14209  	goto FAILED
 14210  __385:
 14211  	;
 14212  	goto SET_RECURSION
 14213  
 14214  	// An item starting (?- followed by a digit comes here via the "default"
 14215  	//       case because (?- followed by a non-digit is an options setting.
 14216  
 14217  __332:
 14218  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 < int64(2) || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) {
 14219  		goto __386
 14220  	}
 14221  
 14222  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR29 // Missing number
 14223  	goto FAILED
 14224  __386:
 14225  	;
 14226  	// Fall through
 14227  
 14228  __333:
 14229  __334:
 14230  __335:
 14231  __336:
 14232  __337:
 14233  __338:
 14234  __339:
 14235  __340:
 14236  __341:
 14237  __342:
 14238  RECURSION_BYNUMBER:
 14239  	if !!(read_number(tls, bp+8, ptrend,
 14240  		func() int32 {
 14241  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071' {
 14242  				return -1
 14243  			}
 14244  			return int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 14245  		}(),
 14246  		DMAX_GROUP_NUMBER, ERR61,
 14247  		bp+48, bp+20) != 0) {
 14248  		goto __387
 14249  	}
 14250  	goto FAILED
 14251  __387:
 14252  	;
 14253  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < 0) {
 14254  		goto __388
 14255  	} /* NB (?0) is permitted */
 14256  
 14257  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15 // Unknown group
 14258  	goto FAILED_BACK
 14259  __388:
 14260  	;
 14261  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14262  		goto __389
 14263  	}
 14264  	goto UNCLOSED_PARENTHESIS
 14265  __389:
 14266  	;
 14267  
 14268  SET_RECURSION:
 14269  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE | Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48)))
 14270  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14271  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14272  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14273  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14274  
 14275  	okquantifier = DTRUE
 14276  	goto __328 // End of recursive call by number handling
 14277  
 14278  	// ---- Recursion/subroutine calls by name ----
 14279  
 14280  __343:
 14281  RECURSE_BY_NAME:
 14282  	if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64,
 14283  		bp+72, bp+20, cb) != 0) {
 14284  		goto __390
 14285  	}
 14286  	goto FAILED
 14287  __390:
 14288  	;
 14289  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE_BYNAME
 14290  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14291  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14292  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14293  
 14294  	okquantifier = DTRUE
 14295  	goto __328
 14296  
 14297  	// ---- Callout with numerical or string argument ----
 14298  
 14299  __344:
 14300  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14301  		goto __391
 14302  	}
 14303  	goto UNCLOSED_PARENTHESIS
 14304  __391:
 14305  	;
 14306  
 14307  	// If the previous item was a condition starting (?(? an assertion,
 14308  	//       optionally preceded by a callout, is expected. This is checked later on,
 14309  	//       during actual compilation. However we need to identify this kind of
 14310  	//       assertion in this pass because it must not be qualified. The value of
 14311  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14312  	//       for a callout - still leaving a positive value that identifies the
 14313  	//       assertion. Multiple callouts or any other items will make it zero or
 14314  	//       less, which doesn't matter because they will cause an error later.
 14315  
 14316  	expect_cond_assert = prev_expect_cond_assert - 1
 14317  
 14318  	// If previous_callout is not NULL, it means this follows a previous
 14319  	//       callout. If it was a manual callout, do nothing; this means its "length
 14320  	//       of next pattern item" field will remain zero. If it was an automatic
 14321  	//       callout, abolish it.
 14322  
 14323  	if !(*(*uintptr)(unsafe.Pointer(bp)) != uintptr(0) && options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0) && *(*uintptr)(unsafe.Pointer(bp)) == parsed_pattern-uintptr(4)*4 && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == Tuint32_t(255)) {
 14324  		goto __392
 14325  	}
 14326  	parsed_pattern = *(*uintptr)(unsafe.Pointer(bp /* previous_callout */))
 14327  __392:
 14328  	;
 14329  
 14330  	// Save for updating next pattern item length, and skip one item before
 14331  	//       completing.
 14332  
 14333  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = parsed_pattern
 14334  	after_manual_callout = 1
 14335  
 14336  	// Handle a string argument; specific delimiter is required.
 14337  
 14338  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14339  		goto __393
 14340  	}
 14341  
 14342  	startptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 14343  
 14344  	delimiter = Tuint32_t(0)
 14345  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 14346  __395:
 14347  	if !(X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))] != Tuint32_t(0)) {
 14348  		goto __397
 14349  	}
 14350  
 14351  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))]) {
 14352  		goto __398
 14353  	}
 14354  
 14355  	delimiter = X_pcre2_callout_end_delims_8[*(*int32)(unsafe.Pointer(bp + 48 /* i */))]
 14356  	goto __397
 14357  __398:
 14358  	;
 14359  	goto __396
 14360  __396:
 14361  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14362  	goto __395
 14363  	goto __397
 14364  __397:
 14365  	;
 14366  	if !(delimiter == Tuint32_t(0)) {
 14367  		goto __399
 14368  	}
 14369  
 14370  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR82
 14371  	goto FAILED
 14372  __399:
 14373  	;
 14374  
 14375  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_STRING
 14376  	parsed_pattern += 4 * uintptr(3) // Skip pattern info
 14377  
 14378  __400:
 14379  
 14380  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14381  		goto __403
 14382  	}
 14383  
 14384  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR81
 14385  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = startptr // To give a more useful message
 14386  	goto FAILED
 14387  __403:
 14388  	;
 14389  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == delimiter && (libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != delimiter)) {
 14390  		goto __404
 14391  	}
 14392  	goto __402
 14393  __404:
 14394  	;
 14395  	goto __401
 14396  __401:
 14397  	goto __400
 14398  	goto __402
 14399  __402:
 14400  	;
 14401  
 14402  	calloutlength = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64(startptr)) / 1)
 14403  	if !(calloutlength > uint64(4294967295)) {
 14404  		goto __405
 14405  	}
 14406  
 14407  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR72
 14408  	goto FAILED
 14409  __405:
 14410  	;
 14411  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(calloutlength)
 14412  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(startptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14413  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14414  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14415  
 14416  	goto __394
 14417  __393:
 14418  
 14419  	n = 0
 14420  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_NUMBER // Numerical callout
 14421  	parsed_pattern += 4 * uintptr(3)                                     // Skip pattern info
 14422  __406:
 14423  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14424  		goto __407
 14425  	}
 14426  
 14427  	n = n*10 + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060'
 14428  	if !(n > 255) {
 14429  		goto __408
 14430  	}
 14431  
 14432  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR38
 14433  	goto FAILED
 14434  __408:
 14435  	;
 14436  	goto __406
 14437  __407:
 14438  	;
 14439  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(n)
 14440  __394:
 14441  	;
 14442  
 14443  	// Both formats must have a closing parenthesis
 14444  
 14445  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14446  		goto __409
 14447  	}
 14448  
 14449  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR39
 14450  	goto FAILED
 14451  __409:
 14452  	;
 14453  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14454  
 14455  	// Remember the offset to the next item in the pattern, and set a default
 14456  	//       length. This should get updated after the next item is read.
 14457  
 14458  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 1*4)) = Tuint32_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14459  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 2*4)) = Tuint32_t(0)
 14460  	goto __328 // End callout
 14461  
 14462  	// ---- Conditional group ----
 14463  
 14464  	// A condition can be an assertion, a number (referring to a numbered
 14465  	//       group's having been set), a name (referring to a named group), or 'R',
 14466  	//       referring to overall recursion. R<digits> and R&name are also permitted
 14467  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 14468  	//       relative group number.
 14469  	//
 14470  	//       There are several syntaxes for testing a named group: (?(name)) is used
 14471  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 14472  	//
 14473  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 14474  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 14475  	//       the Perl DEFINE feature or the Python named test. We look for a name
 14476  	//       first; if not found, we try the other case.
 14477  	//
 14478  	//       For compatibility with auto-callouts, we allow a callout to be specified
 14479  	//       before a condition that is an assertion.
 14480  
 14481  __345:
 14482  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14483  		goto __410
 14484  	}
 14485  	goto UNCLOSED_PARENTHESIS
 14486  __410:
 14487  	;
 14488  	nest_depth++
 14489  
 14490  	// If the next character is ? or * there must be an assertion next
 14491  	//       (optionally preceded by a callout). We do not check this here, but
 14492  	//       instead we set expect_cond_assert to 2. If this is still greater than
 14493  	//       zero (callouts decrement it) when the next assertion is read, it will be
 14494  	//       marked as a condition that must not be repeated. A value greater than
 14495  	//       zero also causes checking that an assertion (possibly with callout)
 14496  	//       follows.
 14497  
 14498  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') {
 14499  		goto __411
 14500  	}
 14501  
 14502  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_ASSERT
 14503  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Pull pointer back to the opening parenthesis.
 14504  	expect_cond_assert = 2
 14505  	goto __328 // End of conditional
 14506  __411:
 14507  	;
 14508  
 14509  	// Handle (?([+-]number)...
 14510  
 14511  	if !(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48,
 14512  		bp+20) != 0) {
 14513  		goto __412
 14514  	}
 14515  
 14516  	if !(*(*int32)(unsafe.Pointer(bp + 48)) <= 0) {
 14517  		goto __414
 14518  	}
 14519  
 14520  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15
 14521  	goto FAILED
 14522  __414:
 14523  	;
 14524  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_NUMBER
 14525  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2))
 14526  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14527  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14528  
 14529  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48 /* i */)))
 14530  	goto __413
 14531  __412:
 14532  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 14533  		goto __415
 14534  	}
 14535  	goto FAILED
 14536  	goto __416
 14537  __415:
 14538  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(10) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+615, uint64(7)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 7))) != '\051') {
 14539  		goto __417
 14540  	}
 14541  
 14542  	ge = Tuint32_t(0)
 14543  	*(*int32)(unsafe.Pointer(bp + 100 /* major */)) = 0
 14544  	minor = 0
 14545  
 14546  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(7)
 14547  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') {
 14548  		goto __419
 14549  	}
 14550  
 14551  	ge = Tuint32_t(1)
 14552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14553  __419:
 14554  	;
 14555  
 14556  	// NOTE: cannot write IS_DIGIT(*(++ptr)) here because IS_DIGIT
 14557  	//         references its argument twice.
 14558  
 14559  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075' || func() bool {
 14560  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))++
 14561  		return !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')
 14562  	}()) {
 14563  		goto __420
 14564  	}
 14565  	goto BAD_VERSION_CONDITION
 14566  __420:
 14567  	;
 14568  
 14569  	if !!(read_number(tls, bp+8, ptrend, -1, uint32(1000), ERR79, bp+100, bp+20) != 0) {
 14570  		goto __421
 14571  	}
 14572  	goto FAILED
 14573  __421:
 14574  	;
 14575  
 14576  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14577  		goto __422
 14578  	}
 14579  	goto BAD_VERSION_CONDITION
 14580  __422:
 14581  	;
 14582  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056') {
 14583  		goto __423
 14584  	}
 14585  
 14586  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14587  		goto __424
 14588  	}
 14589  	goto BAD_VERSION_CONDITION
 14590  __424:
 14591  	;
 14592  	minor = (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060') * 10
 14593  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14594  		goto __425
 14595  	}
 14596  	goto BAD_VERSION_CONDITION
 14597  __425:
 14598  	;
 14599  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071') {
 14600  		goto __426
 14601  	}
 14602  	minor = minor + (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060')
 14603  __426:
 14604  	;
 14605  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14606  		goto __427
 14607  	}
 14608  	goto BAD_VERSION_CONDITION
 14609  __427:
 14610  	;
 14611  __423:
 14612  	;
 14613  
 14614  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_VERSION
 14615  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = ge
 14616  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 100 /* major */)))
 14617  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(minor)
 14618  	goto __418
 14619  __417:
 14620  
 14621  	was_r_ampersand = DFALSE
 14622  
 14623  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\122' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\046') {
 14624  		goto __428
 14625  	}
 14626  
 14627  	terminator = Tuint32_t('\051')
 14628  	was_r_ampersand = DTRUE
 14629  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14630  	goto __429
 14631  __428:
 14632  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') {
 14633  		goto __430
 14634  	}
 14635  	terminator = Tuint32_t('\076')
 14636  	goto __431
 14637  __430:
 14638  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047') {
 14639  		goto __432
 14640  	}
 14641  	terminator = Tuint32_t('\047')
 14642  	goto __433
 14643  __432:
 14644  
 14645  	terminator = Tuint32_t('\051')
 14646  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Point to char before name
 14647  __433:
 14648  	;
 14649  __431:
 14650  	;
 14651  __429:
 14652  	;
 14653  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 14654  		bp+20, cb) != 0) {
 14655  		goto __434
 14656  	}
 14657  	goto FAILED
 14658  __434:
 14659  	;
 14660  
 14661  	// Handle (?(R&name)
 14662  
 14663  	if !(was_r_ampersand != 0) {
 14664  		goto __435
 14665  	}
 14666  
 14667  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_RNAME
 14668  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens
 14669  	goto __436
 14670  __435:
 14671  	if !(terminator == Tuint32_t('\051')) {
 14672  		goto __437
 14673  	}
 14674  
 14675  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t(6) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), ts+623, uint64(6)) == 0) {
 14676  		goto __439
 14677  	}
 14678  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_DEFINE
 14679  	goto __440
 14680  __439:
 14681  
 14682  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 1
 14683  __441:
 14684  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) {
 14685  		goto __443
 14686  	}
 14687  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) <= '\071') {
 14688  		goto __444
 14689  	}
 14690  	goto __443
 14691  __444:
 14692  	;
 14693  	goto __442
 14694  __442:
 14695  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14696  	goto __441
 14697  	goto __443
 14698  __443:
 14699  	;
 14700  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = func() uint32 {
 14701  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64))))) == '\122' && *(*int32)(unsafe.Pointer(bp + 48)) >= int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72))) {
 14702  			return DMETA_COND_RNUMBER
 14703  		}
 14704  		return DMETA_COND_NAME
 14705  	}()
 14706  __440:
 14707  	;
 14708  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens
 14709  	goto __438
 14710  __437:
 14711  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_NAME
 14712  __438:
 14713  	;
 14714  __436:
 14715  	;
 14716  
 14717  	// All these cases except DEFINE end with the name length and offset;
 14718  	//         DEFINE just has an offset (for the "too many branches" error).
 14719  
 14720  	if !(*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) != DMETA_COND_DEFINE) {
 14721  		goto __445
 14722  	}
 14723  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14724  __445:
 14725  	;
 14726  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14727  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14728  
 14729  __418:
 14730  	;
 14731  __416:
 14732  	;
 14733  __413:
 14734  	; // End cases that read a name
 14735  
 14736  	// Check the closing parenthesis of the condition
 14737  
 14738  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14739  		goto __446
 14740  	}
 14741  
 14742  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR24
 14743  	goto FAILED
 14744  __446:
 14745  	;
 14746  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14747  	goto __328 // End of condition processing
 14748  
 14749  	// ---- Atomic group ----
 14750  
 14751  __346:
 14752  ATOMIC_GROUP: // Come from (*atomic:
 14753  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 14754  	nest_depth++
 14755  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14756  	goto __328
 14757  
 14758  	// ---- Lookahead assertions ----
 14759  
 14760  __347:
 14761  POSITIVE_LOOK_AHEAD: // Come from (*pla:
 14762  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 14763  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14764  	goto POST_ASSERTION
 14765  
 14766  __348:
 14767  POSITIVE_NONATOMIC_LOOK_AHEAD: // Come from (?*
 14768  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD_NA
 14769  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14770  	goto POST_ASSERTION
 14771  
 14772  __349:
 14773  NEGATIVE_LOOK_AHEAD: // Come from (*nla:
 14774  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEADNOT
 14775  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14776  	goto POST_ASSERTION
 14777  
 14778  	// ---- Lookbehind assertions ----
 14779  
 14780  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 14781  	//       is the start of the name of a capturing group.
 14782  
 14783  __350:
 14784  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\075' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\041' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\052') {
 14785  		goto __447
 14786  	}
 14787  
 14788  	terminator = Tuint32_t('\076')
 14789  	goto DEFINE_NAME
 14790  __447:
 14791  	;
 14792  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 14793  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\075' {
 14794  			return DMETA_LOOKBEHIND
 14795  		}
 14796  		return func() uint32 {
 14797  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\041' {
 14798  				return DMETA_LOOKBEHINDNOT
 14799  			}
 14800  			return DMETA_LOOKBEHIND_NA
 14801  		}()
 14802  	}()
 14803  
 14804  POST_LOOKBEHIND: // Come from (*plb: (*naplb: and (*nlb:
 14805  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 14806  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2))
 14807  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14808  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14809  
 14810  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 14811  	// Fall through
 14812  
 14813  	// If the previous item was a condition starting (?(? an assertion,
 14814  	//       optionally preceded by a callout, is expected. This is checked later on,
 14815  	//       during actual compilation. However we need to identify this kind of
 14816  	//       assertion in this pass because it must not be qualified. The value of
 14817  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14818  	//       for a callout - still leaving a positive value that identifies the
 14819  	//       assertion. Multiple callouts or any other items will make it zero or
 14820  	//       less, which doesn't matter because they will cause an error later.
 14821  
 14822  POST_ASSERTION:
 14823  	nest_depth++
 14824  	if !(prev_expect_cond_assert > 0) {
 14825  		goto __448
 14826  	}
 14827  
 14828  	if !(top_nest == uintptr(0)) {
 14829  		goto __449
 14830  	}
 14831  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 14832  	goto __450
 14833  __449:
 14834  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 14835  		goto __451
 14836  	}
 14837  
 14838  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 14839  	goto FAILED
 14840  __451:
 14841  	;
 14842  __450:
 14843  	;
 14844  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14845  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_CONDASSERT)
 14846  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 14847  __448:
 14848  	;
 14849  	goto __328
 14850  
 14851  	// ---- Define a named group ----
 14852  
 14853  	// A named group may be defined as (?'name') or (?<name>). In the latter
 14854  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 14855  	//       terminator set to '>'.
 14856  
 14857  __351:
 14858  	terminator = Tuint32_t('\047') // Terminator
 14859  
 14860  DEFINE_NAME:
 14861  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 14862  		bp+20, cb) != 0) {
 14863  		goto __452
 14864  	}
 14865  	goto FAILED
 14866  __452:
 14867  	;
 14868  
 14869  	// We have a name for this capturing group. It is also assigned a number,
 14870  	//       which is its primary means of identification.
 14871  
 14872  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 14873  		goto __453
 14874  	}
 14875  
 14876  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97
 14877  	goto FAILED
 14878  __453:
 14879  	;
 14880  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 14881  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 14882  	nest_depth++
 14883  
 14884  	// Check not too many names
 14885  
 14886  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= DMAX_NAME_COUNT) {
 14887  		goto __454
 14888  	}
 14889  
 14890  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR49
 14891  	goto FAILED
 14892  __454:
 14893  	;
 14894  
 14895  	// Adjust the entry size to accommodate the longest name found.
 14896  
 14897  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72))+Tuint32_t(DIMM2_SIZE)+Tuint32_t(1) > Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)) {
 14898  		goto __455
 14899  	}
 14900  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) + Tuint32_t(DIMM2_SIZE) + Tuint32_t(1))
 14901  __455:
 14902  	;
 14903  
 14904  	// Scan the list to check for duplicates. For duplicate names, if the
 14905  	//       number is the same, break the loop, which causes the name to be
 14906  	//       discarded; otherwise, if DUPNAMES is not set, give an error.
 14907  	//       If it is set, allow the name with a different number, but continue
 14908  	//       scanning in case this is a duplicate with the same number. For
 14909  	//       non-duplicate names, give an error if the number is duplicated.
 14910  
 14911  	isdupname = DFALSE
 14912  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 14913  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 14914  __456:
 14915  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14916  		goto __458
 14917  	}
 14918  
 14919  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 14920  		goto __459
 14921  	}
 14922  
 14923  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14924  		goto __461
 14925  	}
 14926  	goto __458
 14927  __461:
 14928  	;
 14929  	if !(options&DPCRE2_DUPNAMES == Tuint32_t(0)) {
 14930  		goto __462
 14931  	}
 14932  
 14933  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR43
 14934  	goto FAILED
 14935  __462:
 14936  	;
 14937  	isdupname = TBOOL(libc.AssignPtrUint16(ng+14, Tuint16_t(DTRUE))) // Mark as a duplicate
 14938  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fdupnames = DTRUE        // Duplicate names exist
 14939  	goto __460
 14940  __459:
 14941  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14942  		goto __463
 14943  	}
 14944  
 14945  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR65
 14946  	goto FAILED
 14947  __463:
 14948  	;
 14949  __460:
 14950  	;
 14951  	goto __457
 14952  __457:
 14953  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14954  	ng += 16
 14955  	goto __456
 14956  	goto __458
 14957  __458:
 14958  	;
 14959  
 14960  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14961  		goto __464
 14962  	}
 14963  	goto __328
 14964  __464:
 14965  	; // Ignore duplicate with same number
 14966  
 14967  	// Increase the list size if necessary
 14968  
 14969  	if !(Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size) {
 14970  		goto __465
 14971  	}
 14972  
 14973  	newsize = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size * Tuint32_t(2)
 14974  	newspace =
 14975  		(*struct {
 14976  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 14977  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(Tnamed_group_8{})),
 14978  			(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14979  	if !(newspace == uintptr(0)) {
 14980  		goto __466
 14981  	}
 14982  
 14983  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR21
 14984  	goto FAILED
 14985  __466:
 14986  	;
 14987  
 14988  	libc.Xmemcpy(tls, newspace, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups,
 14989  		uint64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size)*uint64(unsafe.Sizeof(Tnamed_group_8{})))
 14990  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 14991  		goto __467
 14992  	}
 14993  	(*struct {
 14994  		f func(*libc.TLS, uintptr, uintptr)
 14995  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups,
 14996  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14997  __467:
 14998  	;
 14999  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups = newspace
 15000  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size = newsize
 15001  __465:
 15002  	;
 15003  
 15004  	// Add this name to the list
 15005  
 15006  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fname = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64 /* name */))
 15007  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Flength = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)))
 15008  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fnumber = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 15009  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fisdup = Tuint16_t(isdupname)
 15010  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found++
 15011  	goto __328
 15012  __328:
 15013  	;         // End of (? switch
 15014  	goto __84 // End of ( handling
 15015  
 15016  	// ---- Branch terminators ----
 15017  
 15018  	// Alternation: reset the capture count if we are in a (?| group.
 15019  
 15020  __96:
 15021  	if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth) && uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0)) {
 15022  		goto __468
 15023  	}
 15024  
 15025  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount > Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)) {
 15026  		goto __469
 15027  	}
 15028  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 15029  __469:
 15030  	;
 15031  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group)
 15032  __468:
 15033  	;
 15034  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ALT
 15035  	goto __84
 15036  
 15037  	// End of group; reset the capture count to the maximum if we are in a (?|
 15038  	//     group and/or reset the options that are tracked during parsing. Disallow
 15039  	//     quantifier for a condition that is an assertion.
 15040  
 15041  __97:
 15042  	okquantifier = DTRUE
 15043  	if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth)) {
 15044  		goto __470
 15045  	}
 15046  
 15047  	options = options&libc.CplUint32(DPCRE2_CASELESS|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_UNGREEDY) | (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions
 15048  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0) && Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group) > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 15049  		goto __471
 15050  	}
 15051  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)
 15052  __471:
 15053  	;
 15054  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_CONDASSERT != uint32(0)) {
 15055  		goto __472
 15056  	}
 15057  	okquantifier = DFALSE
 15058  __472:
 15059  	;
 15060  
 15061  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_ATOMICSR != uint32(0)) {
 15062  		goto __473
 15063  	}
 15064  
 15065  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15066  __473:
 15067  	;
 15068  
 15069  	if !(top_nest == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace) {
 15070  		goto __474
 15071  	}
 15072  	top_nest = uintptr(0)
 15073  	goto __475
 15074  __474:
 15075  	top_nest -= 12
 15076  __475:
 15077  	;
 15078  __470:
 15079  	;
 15080  	if !(int32(nest_depth) == 0) {
 15081  		goto __476
 15082  	} /* Unmatched closing parenthesis */
 15083  
 15084  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR22
 15085  	goto FAILED_BACK
 15086  __476:
 15087  	;
 15088  	nest_depth--
 15089  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15090  	goto __84
 15091  __84:
 15092  	; // End of switch on pattern character
 15093  	goto __19
 15094  __20:
 15095  	; // End of main character scan loop
 15096  
 15097  	// End of pattern reached. Check for missing ) at the end of a verb name.
 15098  
 15099  	if !(inverbname != 0 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 15100  		goto __477
 15101  	}
 15102  
 15103  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60
 15104  	goto FAILED
 15105  __477:
 15106  	;
 15107  
 15108  	// Manage callout for the final item
 15109  
 15110  PARSED_END:
 15111  	parsed_pattern = manage_callouts(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), bp, auto_callout,
 15112  		parsed_pattern, cb)
 15113  
 15114  	// Insert trailing items for word and line matching (features provided for the
 15115  	// benefit of pcre2grep).
 15116  
 15117  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 15118  		goto __478
 15119  	}
 15120  
 15121  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15122  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 15123  	goto __479
 15124  __478:
 15125  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 15126  		goto __480
 15127  	}
 15128  
 15129  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15130  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 15131  __480:
 15132  	;
 15133  __479:
 15134  	;
 15135  
 15136  	// Terminate the parsed pattern, then return success if all groups are closed.
 15137  	// Otherwise we have unclosed parentheses.
 15138  
 15139  	if !(parsed_pattern >= parsed_pattern_end) {
 15140  		goto __481
 15141  	}
 15142  
 15143  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 15144  	goto FAILED
 15145  __481:
 15146  	;
 15147  
 15148  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_END
 15149  	if !(int32(nest_depth) == 0) {
 15150  		goto __482
 15151  	}
 15152  	return 0
 15153  __482:
 15154  	;
 15155  
 15156  UNCLOSED_PARENTHESIS:
 15157  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR14
 15158  
 15159  	// Come here for all failures.
 15160  
 15161  FAILED:
 15162  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15163  	return *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */))
 15164  
 15165  	// Some errors need to indicate the previous character.
 15166  
 15167  FAILED_BACK:
 15168  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 15169  	goto FAILED
 15170  
 15171  	// This failure happens several times.
 15172  
 15173  BAD_VERSION_CONDITION:
 15174  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR79
 15175  	goto FAILED
 15176  	return int32(0)
 15177  }
 15178  
 15179  // ************************************************
 15180  //
 15181  //       Find first significant opcode            *
 15182  //
 15183  
 15184  // This is called by several functions that scan a compiled expression looking
 15185  // for a fixed first character, or an anchoring opcode etc. It skips over things
 15186  // that do not influence this. For some calls, it makes sense to skip negative
 15187  // forward and all backward assertions, and also the \b assertion; for others it
 15188  // does not.
 15189  //
 15190  // Arguments:
 15191  //   code         pointer to the start of the group
 15192  //   skipassert   TRUE if certain assertions are to be skipped
 15193  //
 15194  // Returns:       pointer to the first significant opcode
 15195  
 15196  func first_significant_code(tls *libc.TLS, code TPCRE2_SPTR8, skipassert TBOOL) uintptr { /* pcre2_compile.c:4845:25: */
 15197  	for {
 15198  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) {
 15199  		case OP_ASSERT_NOT:
 15200  			fallthrough
 15201  		case OP_ASSERTBACK:
 15202  			fallthrough
 15203  		case OP_ASSERTBACK_NOT:
 15204  			fallthrough
 15205  		case OP_ASSERTBACK_NA:
 15206  			if !(skipassert != 0) {
 15207  				return code
 15208  			}
 15209  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 15210  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 15211  			}
 15212  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15213  			break
 15214  
 15215  		case OP_WORD_BOUNDARY:
 15216  			fallthrough
 15217  		case OP_NOT_WORD_BOUNDARY:
 15218  			if !(skipassert != 0) {
 15219  				return code
 15220  			}
 15221  			fallthrough
 15222  		// Fall through
 15223  
 15224  		case OP_CALLOUT:
 15225  			fallthrough
 15226  		case OP_CREF:
 15227  			fallthrough
 15228  		case OP_DNCREF:
 15229  			fallthrough
 15230  		case OP_RREF:
 15231  			fallthrough
 15232  		case OP_DNRREF:
 15233  			fallthrough
 15234  		case OP_FALSE:
 15235  			fallthrough
 15236  		case OP_TRUE:
 15237  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15238  			break
 15239  
 15240  		case OP_CALLOUT_STR:
 15241  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 15242  			break
 15243  
 15244  		case OP_SKIPZERO:
 15245  			code += TPCRE2_SPTR8(uint32(2) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) + uint32(DLINK_SIZE))
 15246  			break
 15247  
 15248  		case OP_COND:
 15249  			fallthrough
 15250  		case OP_SCOND:
 15251  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) != OP_FALSE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) != OP_KET { // More than one branch
 15252  				return code
 15253  			}
 15254  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) + uint32(1) + uint32(DLINK_SIZE))
 15255  			break
 15256  
 15257  		case OP_MARK:
 15258  			fallthrough
 15259  		case OP_COMMIT_ARG:
 15260  			fallthrough
 15261  		case OP_PRUNE_ARG:
 15262  			fallthrough
 15263  		case OP_SKIP_ARG:
 15264  			fallthrough
 15265  		case OP_THEN_ARG:
 15266  			code += TPCRE2_SPTR8(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) + int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]))
 15267  			break
 15268  
 15269  		default:
 15270  			return code
 15271  		}
 15272  	}
 15273  	return uintptr(0)
 15274  	// Control never reaches here
 15275  }
 15276  
 15277  // ************************************************
 15278  //
 15279  //           Get othercase range                  *
 15280  //
 15281  
 15282  // This function is passed the start and end of a class range in UCP mode. It
 15283  // searches up the characters, looking for ranges of characters in the "other"
 15284  // case. Each call returns the next one, updating the start address. A character
 15285  // with multiple other cases is returned on its own with a special return value.
 15286  //
 15287  // Arguments:
 15288  //   cptr        points to starting character value; updated
 15289  //   d           end value
 15290  //   ocptr       where to put start of othercase range
 15291  //   odptr       where to put end of othercase range
 15292  //
 15293  // Yield:        -1 when no more
 15294  //                0 when a range is returned
 15295  //               >0 the CASESET offset for char with multiple other cases
 15296  //                 in this case, ocptr contains the original
 15297  
 15298  func get_othercase_range(tls *libc.TLS, cptr uintptr, d Tuint32_t, ocptr uintptr, odptr uintptr) int32 { /* pcre2_compile.c:4932:1: */
 15299  	var c Tuint32_t
 15300  	var othercase Tuint32_t
 15301  	var next Tuint32_t
 15302  	var co uint32
 15303  
 15304  	// Find the first character that has an other case. If it has multiple other
 15305  	// cases, return its case offset value.
 15306  
 15307  	for c = *(*Tuint32_t)(unsafe.Pointer(cptr)); c <= d; c++ {
 15308  		if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) {
 15309  			*(*Tuint32_t)(unsafe.Pointer(ocptr)) = libc.PostIncUint32(&c, 1) // Character that has the set
 15310  			*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                          // Rest of input range
 15311  			return int32(co)
 15312  		}
 15313  		if libc.AssignUint32(&othercase, Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != c {
 15314  			break
 15315  		}
 15316  	}
 15317  
 15318  	if c > d {
 15319  		return -1
 15320  	} // Reached end of range
 15321  
 15322  	// Found a character that has a single other case. Search for the end of the
 15323  	// range, which is either the end of the input range, or a character that has zero
 15324  	// or more than one other cases.
 15325  
 15326  	*(*Tuint32_t)(unsafe.Pointer(ocptr)) = othercase
 15327  	next = othercase + Tuint32_t(1)
 15328  
 15329  	for c++; c <= d; c++ {
 15330  		if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) || Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case) != next {
 15331  			break
 15332  		}
 15333  		next++
 15334  	}
 15335  
 15336  	*(*Tuint32_t)(unsafe.Pointer(odptr)) = next - Tuint32_t(1) // End of othercase range
 15337  	*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                    // Rest of input range
 15338  	return 0
 15339  }
 15340  
 15341  // ************************************************
 15342  //
 15343  // Add a character or range to a class (internal) *
 15344  //
 15345  
 15346  // This function packages up the logic of adding a character or range of
 15347  // characters to a class. The character values in the arguments will be within the
 15348  // valid values for the current mode (8-bit, 16-bit, UTF, etc). This function is
 15349  // called only from within the "add to class" group of functions, some of which
 15350  // are recursive and mutually recursive. The external entry point is
 15351  // add_to_class().
 15352  //
 15353  // Arguments:
 15354  //   classbits     the bit map for characters < 256
 15355  //   uchardptr     points to the pointer for extra data
 15356  //   options       the options word
 15357  //   cb            compile data
 15358  //   start         start of range character
 15359  //   end           end of range character
 15360  //
 15361  // Returns:        the number of < 256 characters added
 15362  //                 the pointer to extra data is updated
 15363  
 15364  func add_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:4999:1: */
 15365  	bp := tls.Alloc(12)
 15366  	defer tls.Free(12)
 15367  
 15368  	// var c Tuint32_t at bp, 4
 15369  
 15370  	var classbits_end Tuint32_t = func() uint32 {
 15371  		if end <= Tuint32_t(0xff) {
 15372  			return end
 15373  		}
 15374  		return uint32(0xff)
 15375  	}()
 15376  	var n8 uint32 = uint32(0)
 15377  
 15378  	// If caseless matching is required, scan the range and process alternate
 15379  	// cases. In Unicode, there are 8-bit characters that have alternate cases that
 15380  	// are greater than 255 and vice-versa. Sometimes we can just extend the original
 15381  	// range.
 15382  
 15383  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15384  		if options&(DPCRE2_UTF|DPCRE2_UCP) != Tuint32_t(0) {
 15385  			var rc int32
 15386  			// var oc Tuint32_t at bp+4, 4
 15387  
 15388  			// var od Tuint32_t at bp+8, 4
 15389  
 15390  			options = options & libc.CplUint32(DPCRE2_CASELESS) // Remove for recursive calls
 15391  			*(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start
 15392  
 15393  			for libc.AssignInt32(&rc, get_othercase_range(tls, bp, end, bp+4, bp+8)) >= 0 {
 15394  				// Handle a single character that has more than one other case.
 15395  
 15396  				if rc > 0 {
 15397  					n8 = n8 + add_list_to_class_internal(tls, classbits, uchardptr, options, cb,
 15398  						uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8))+uintptr(rc)*4, *(*Tuint32_t)(unsafe.Pointer(bp + 4)))
 15399  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end {
 15400  					continue
 15401  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) < start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= start-Tuint32_t(1) {
 15402  					start = *(*Tuint32_t)(unsafe.Pointer(bp + 4 /* oc */))
 15403  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 8)) > end && *(*Tuint32_t)(unsafe.Pointer(bp + 4)) <= end+Tuint32_t(1) {
 15404  					end = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* od */)) // Extend upwards
 15405  					if end > classbits_end {
 15406  						classbits_end = func() uint32 {
 15407  							if end <= Tuint32_t(0xff) {
 15408  								return end
 15409  							}
 15410  							return uint32(0xff)
 15411  						}()
 15412  					}
 15413  				} else {
 15414  					n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(bp + 4)), *(*Tuint32_t)(unsafe.Pointer(bp + 8)))
 15415  				}
 15416  			}
 15417  		} else {
 15418  
 15419  			// Not UTF mode
 15420  
 15421  			for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15422  				*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8)))) | uint32(1)<<(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))&7))
 15423  				n8++
 15424  			}
 15425  		}
 15426  	}
 15427  
 15428  	// Now handle the originally supplied range. Adjust the final value according
 15429  	// to the bit length - this means that the same lists of (e.g.) horizontal spaces
 15430  	// can be used in all cases.
 15431  
 15432  	if options&DPCRE2_UTF == Tuint32_t(0) && end > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH) {
 15433  		end = uint32(0xffffffff) >> (32 - DPCRE2_CODE_UNIT_WIDTH)
 15434  	}
 15435  
 15436  	if start > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && end < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end {
 15437  		return n8
 15438  	}
 15439  
 15440  	// Use the bitmap for characters < 256. Otherwise use extra data.
 15441  
 15442  	for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15443  		// Regardless of start, c will always be <= 255.
 15444  		*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8)))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8))))) | uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp))&Tuint32_t(7)))
 15445  		n8++
 15446  	}
 15447  
 15448  	if start <= Tuint32_t(0xff) {
 15449  		start = Tuint32_t(0xff + 1)
 15450  	}
 15451  
 15452  	if end >= start {
 15453  		var uchardata uintptr = *(*uintptr)(unsafe.Pointer(uchardptr))
 15454  
 15455  		if options&DPCRE2_UTF != Tuint32_t(0) {
 15456  			if start < end {
 15457  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 15458  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15459  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, end, uchardata))
 15460  			} else if start == end {
 15461  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_SINGLE)
 15462  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15463  			}
 15464  		} else {
 15465  		}
 15466  		*(*uintptr)(unsafe.Pointer(uchardptr)) = uchardata // Updata extra data pointer
 15467  	}
 15468  
 15469  	return n8 // Number of 8-bit characters
 15470  }
 15471  
 15472  // ************************************************
 15473  //
 15474  // Add a list of characters to a class (internal) *
 15475  //
 15476  
 15477  // This function is used for adding a list of case-equivalent characters to a
 15478  // class when in UTF mode. This function is called only from within
 15479  // add_to_class_internal(), with which it is mutually recursive.
 15480  //
 15481  // Arguments:
 15482  //   classbits     the bit map for characters < 256
 15483  //   uchardptr     points to the pointer for extra data
 15484  //   options       the options word
 15485  //   cb            contains pointers to tables etc.
 15486  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15487  //   except        character to omit; this is used when adding lists of
 15488  //                   case-equivalent characters to avoid including the one we
 15489  //                   already know about
 15490  //
 15491  // Returns:        the number of < 256 characters added
 15492  //                 the pointer to extra data is updated
 15493  
 15494  func add_list_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5154:1: */
 15495  	var n8 uint32 = uint32(0)
 15496  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15497  		var n uint32 = uint32(0)
 15498  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15499  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15500  				n++
 15501  			}
 15502  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15503  		}
 15504  		p += 4 * uintptr(n+uint32(1))
 15505  	}
 15506  	return n8
 15507  }
 15508  
 15509  // ************************************************
 15510  //
 15511  //   External entry point for add range to class  *
 15512  //
 15513  
 15514  // This function sets the overall range so that the internal functions can try
 15515  // to avoid duplication when handling case-independence.
 15516  //
 15517  // Arguments:
 15518  //   classbits     the bit map for characters < 256
 15519  //   uchardptr     points to the pointer for extra data
 15520  //   options       the options word
 15521  //   cb            compile data
 15522  //   start         start of range character
 15523  //   end           end of range character
 15524  //
 15525  // Returns:        the number of < 256 characters added
 15526  //                 the pointer to extra data is updated
 15527  
 15528  func add_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:5194:1: */
 15529  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = start
 15530  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = end
 15531  	return add_to_class_internal(tls, classbits, uchardptr, options, cb, start, end)
 15532  }
 15533  
 15534  // ************************************************
 15535  //
 15536  //   External entry point for add list to class   *
 15537  //
 15538  
 15539  // This function is used for adding a list of horizontal or vertical whitespace
 15540  // characters to a class. The list must be in order so that ranges of characters
 15541  // can be detected and handled appropriately. This function sets the overall range
 15542  // so that the internal functions can try to avoid duplication when handling
 15543  // case-independence.
 15544  //
 15545  // Arguments:
 15546  //   classbits     the bit map for characters < 256
 15547  //   uchardptr     points to the pointer for extra data
 15548  //   options       the options word
 15549  //   cb            contains pointers to tables etc.
 15550  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15551  //   except        character to omit; this is used when adding lists of
 15552  //                   case-equivalent characters to avoid including the one we
 15553  //                   already know about
 15554  //
 15555  // Returns:        the number of < 256 characters added
 15556  //                 the pointer to extra data is updated
 15557  
 15558  func add_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5228:1: */
 15559  	var n8 uint32 = uint32(0)
 15560  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15561  		var n uint32 = uint32(0)
 15562  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15563  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15564  				n++
 15565  			}
 15566  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = *(*Tuint32_t)(unsafe.Pointer(p))
 15567  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4))
 15568  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15569  		}
 15570  		p += 4 * uintptr(n+uint32(1))
 15571  	}
 15572  	return n8
 15573  }
 15574  
 15575  // ************************************************
 15576  //
 15577  //    Add characters not in a list to a class     *
 15578  //
 15579  
 15580  // This function is used for adding the complement of a list of horizontal or
 15581  // vertical whitespace to a class. The list must be in order.
 15582  //
 15583  // Arguments:
 15584  //   classbits     the bit map for characters < 256
 15585  //   uchardptr     points to the pointer for extra data
 15586  //   options       the options word
 15587  //   cb            contains pointers to tables etc.
 15588  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15589  //
 15590  // Returns:        the number of < 256 characters added
 15591  //                 the pointer to extra data is updated
 15592  
 15593  func add_not_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr) uint32 { /* pcre2_compile.c:5268:1: */
 15594  	var utf TBOOL = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15595  	var n8 uint32 = uint32(0)
 15596  	if *(*Tuint32_t)(unsafe.Pointer(p)) > Tuint32_t(0) {
 15597  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, uint32(0), *(*Tuint32_t)(unsafe.Pointer(p))-Tuint32_t(1))
 15598  	}
 15599  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15600  		for *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1) {
 15601  			p += 4
 15602  		}
 15603  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1),
 15604  			func() uint32 {
 15605  				if *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == DNOTACHAR {
 15606  					return func() uint32 {
 15607  						if utf != 0 {
 15608  							return 0x10ffff
 15609  						}
 15610  						return 0xffffffff
 15611  					}()
 15612  				}
 15613  				return *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) - Tuint32_t(1)
 15614  			}())
 15615  		p += 4
 15616  	}
 15617  	return n8
 15618  }
 15619  
 15620  // ************************************************
 15621  //
 15622  //    Find details of duplicate group names       *
 15623  //
 15624  
 15625  // This is called from compile_branch() when it needs to know the index and
 15626  // count of duplicates in the names table when processing named backreferences,
 15627  // either directly, or as conditions.
 15628  //
 15629  // Arguments:
 15630  //   name          points to the name
 15631  //   length        the length of the name
 15632  //   indexptr      where to put the index
 15633  //   countptr      where to put the count of duplicates
 15634  //   errorcodeptr  where to put an error code
 15635  //   cb            the compile block
 15636  //
 15637  // Returns:        TRUE if OK, FALSE if not, error code set
 15638  
 15639  func find_dupname_details(tls *libc.TLS, name TPCRE2_SPTR8, length Tuint32_t, indexptr uintptr, countptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:5307:1: */
 15640  	var i Tuint32_t
 15641  	var groupnumber Tuint32_t
 15642  	var count int32
 15643  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 15644  
 15645  	// Find the first entry in the table
 15646  
 15647  	for i = Tuint32_t(0); i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found); i++ {
 15648  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(Tuint32_t(DIMM2_SIZE)+length)))) == 0 {
 15649  			break
 15650  		}
 15651  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15652  	}
 15653  
 15654  	// This should not occur, because this function is called only when we know we
 15655  	// have duplicate names. Give an internal error.
 15656  
 15657  	if i >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15658  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR53
 15659  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(name) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15660  		return DFALSE
 15661  	}
 15662  
 15663  	// Record the index and then see how many duplicates there are, updating the
 15664  	// backref map and maximum back reference as we do.
 15665  
 15666  	*(*int32)(unsafe.Pointer(indexptr)) = int32(i)
 15667  	count = 0
 15668  
 15669  	for {
 15670  		count++
 15671  		groupnumber = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))
 15672  		*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 15673  			if groupnumber < Tuint32_t(32) {
 15674  				return uint32(1) << groupnumber
 15675  			}
 15676  			return uint32(1)
 15677  		}()
 15678  		if groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref {
 15679  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 15680  		}
 15681  		if libc.PreIncUint32(&i, 1) >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15682  			break
 15683  		}
 15684  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15685  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE) + uintptr(length)))) != 0 {
 15686  			break
 15687  		}
 15688  	}
 15689  
 15690  	*(*int32)(unsafe.Pointer(countptr)) = count
 15691  	return DTRUE
 15692  }
 15693  
 15694  // ************************************************
 15695  //
 15696  //           Compile one branch                   *
 15697  //
 15698  
 15699  // Scan the parsed pattern, compiling it into the a vector of PCRE2_UCHAR. If
 15700  // the options are changed during the branch, the pointer is used to change the
 15701  // external options bits. This function is used during the pre-compile phase when
 15702  // we are trying to find out the amount of memory needed, as well as during the
 15703  // real compile phase. The value of lengthptr distinguishes the two phases.
 15704  //
 15705  // Arguments:
 15706  //   optionsptr        pointer to the option bits
 15707  //   codeptr           points to the pointer to the current code point
 15708  //   pptrptr           points to the current parsed pattern pointer
 15709  //   errorcodeptr      points to error code variable
 15710  //   firstcuptr        place to put the first required code unit
 15711  //   firstcuflagsptr   place to put the first code unit flags
 15712  //   reqcuptr          place to put the last required code unit
 15713  //   reqcuflagsptr     place to put the last required code unit flags
 15714  //   bcptr             points to current branch chain
 15715  //   cb                contains pointers to tables etc.
 15716  //   lengthptr         NULL during the real compile phase
 15717  //                     points to length accumulator during pre-compile phase
 15718  //
 15719  // Returns:            0 There's been an error, *errorcodeptr is non-zero
 15720  //                    +1 Success, this branch must match at least one character
 15721  //                    -1 Success, this branch may match an empty string
 15722  
 15723  func compile_branch(tls *libc.TLS, optionsptr uintptr, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:5387:1: */
 15724  	bp := tls.Alloc(136)
 15725  	defer tls.Free(136)
 15726  
 15727  	var bravalue int32
 15728  	var okreturn int32
 15729  	var group_return int32
 15730  	var repeat_min Tuint32_t
 15731  	var repeat_max Tuint32_t // To please picky compilers
 15732  	var greedy_default Tuint32_t
 15733  	var greedy_non_default Tuint32_t
 15734  	var repeat_type Tuint32_t
 15735  	var op_type Tuint32_t
 15736  	var options Tuint32_t // May change dynamically
 15737  	var firstcu Tuint32_t
 15738  	var reqcu Tuint32_t
 15739  	var zeroreqcu Tuint32_t
 15740  	var zerofirstcu Tuint32_t
 15741  	var escape Tuint32_t
 15742  	// var pptr uintptr at bp+96, 8
 15743  
 15744  	var meta Tuint32_t
 15745  	var meta_arg Tuint32_t
 15746  	var firstcuflags Tuint32_t
 15747  	var reqcuflags Tuint32_t
 15748  	var zeroreqcuflags Tuint32_t
 15749  	var zerofirstcuflags Tuint32_t
 15750  	var req_caseopt Tuint32_t
 15751  	var reqvary Tuint32_t
 15752  	var tempreqvary Tuint32_t
 15753  	var offset Tsize_t
 15754  	// var length_prevgroup Tsize_t at bp+120, 8
 15755  
 15756  	var code uintptr
 15757  	var last_code uintptr
 15758  	var orig_code uintptr
 15759  	// var tempcode uintptr at bp+88, 8
 15760  
 15761  	var previous uintptr
 15762  	var op_previous TPCRE2_UCHAR8
 15763  	var groupsetfirstcu TBOOL
 15764  	var had_accept TBOOL
 15765  	var matched_char TBOOL
 15766  	var previous_matched_char TBOOL
 15767  	var reset_caseful TBOOL
 15768  	var cbits uintptr
 15769  	// var classbits [32]Tuint8_t at bp, 32
 15770  
 15771  	// We can fish out the UTF setting once and for all into a BOOL, but we must
 15772  	// not do this for other options (e.g. PCRE2_EXTENDED) because they may change
 15773  	// dynamically as we process the pattern.
 15774  
 15775  	var utf TBOOL
 15776  	var ucp TBOOL
 15777  
 15778  	// Helper variables for OP_XCLASS opcode (for characters > 255). We define
 15779  	// class_uchardata always so that it can be passed to add_to_class() always,
 15780  	// though it will not be used in non-UTF 8-bit cases. This avoids having to supply
 15781  	// alternative calls for the different cases.
 15782  
 15783  	// var class_uchardata uintptr at bp+64, 8
 15784  
 15785  	var xclass TBOOL
 15786  	var class_uchardata_base uintptr
 15787  	var d Tuint32_t
 15788  	var c Tuint32_t
 15789  	var d1 Tuint32_t
 15790  	var c1 Tuint32_t
 15791  	var i int32
 15792  	var i1 int32
 15793  	var local_negate TBOOL
 15794  	var posix_class int32
 15795  	var taboffset int32
 15796  	var tabopt int32
 15797  	// var pbits [32]Tuint8_t at bp+32, 32
 15798  
 15799  	var i2 int32
 15800  	var i3 int32
 15801  	var ptype Tuint32_t
 15802  	var pdata Tuint32_t
 15803  	var i4 int32
 15804  	var i5 int32
 15805  	var i6 int32
 15806  	var i7 int32
 15807  	var i8 int32
 15808  	var i9 int32
 15809  	var c2 Tuint32_t
 15810  	var d2 Tuint32_t
 15811  	var i10 int32
 15812  	var i11 int32
 15813  	// var count int32 at bp+84, 4
 15814  
 15815  	// var index int32 at bp+80, 4
 15816  
 15817  	var i12 uint32
 15818  	var name TPCRE2_SPTR8
 15819  	var ng uintptr
 15820  	var length Tuint32_t
 15821  	var tc uintptr
 15822  	var condcount int32
 15823  	// var count1 int32 at bp+132, 4
 15824  
 15825  	// var index1 int32 at bp+128, 4
 15826  
 15827  	var name1 TPCRE2_SPTR8
 15828  	var is_dupname TBOOL
 15829  	var ng1 uintptr
 15830  	var length1 Tuint32_t
 15831  	var i13 uint32
 15832  	var pp TPCRE2_SPTR8
 15833  	var delimiter Tuint32_t
 15834  	var length2 Tuint32_t
 15835  	var callout_string uintptr
 15836  	var lastchar uintptr
 15837  	var delta Tsize_t
 15838  	var replicate int32
 15839  	var i14 int32
 15840  	var linkoffset int32
 15841  	var delta1 Tsize_t
 15842  	var i15 Tuint32_t
 15843  	var delta2 Tsize_t
 15844  	var linkoffset1 int32
 15845  	var oldlinkoffset int32
 15846  	var linkoffset2 int32
 15847  	var bra uintptr
 15848  	var i16 Tuint32_t
 15849  	var nlen int32
 15850  	var ketcode uintptr
 15851  	var bracode uintptr
 15852  	var len int32
 15853  	var bralink uintptr
 15854  	var brazeroptr uintptr
 15855  	var prop_type int32
 15856  	var prop_value int32
 15857  	var oldcode uintptr
 15858  	var repcode uint32
 15859  	var len1 int32
 15860  	var ptype1 Tuint32_t
 15861  	var pdata1 Tuint32_t
 15862  	var caseset Tuint32_t
 15863  	var i17 int32
 15864  	var xclass_has_prop TBOOL
 15865  	var negate_class TBOOL
 15866  	var should_flip_negation TBOOL
 15867  	var match_all_or_no_wide_chars TBOOL
 15868  	var possessive_quantifier TBOOL
 15869  	var note_group_empty TBOOL
 15870  	var class_has_8bitchar int32
 15871  	var mclength Tuint32_t
 15872  	var skipunits Tuint32_t
 15873  	// var subreqcu Tuint32_t at bp+112, 4
 15874  
 15875  	// var subfirstcu Tuint32_t at bp+104, 4
 15876  
 15877  	var groupnumber Tuint32_t
 15878  	var verbarglen Tuint32_t
 15879  	var verbculen Tuint32_t
 15880  	// var subreqcuflags Tuint32_t at bp+116, 4
 15881  
 15882  	// var subfirstcuflags Tuint32_t at bp+108, 4
 15883  
 15884  	var oc uintptr
 15885  	// var mcbuffer [8]TPCRE2_UCHAR8 at bp+72, 8
 15886  	bravalue = 0
 15887  	okreturn = -1
 15888  	group_return = 0
 15889  	repeat_min = Tuint32_t(0)
 15890  	repeat_max = Tuint32_t(0)
 15891  	options = *(*Tuint32_t)(unsafe.Pointer(optionsptr))
 15892  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 15893  	offset = uint64(0)
 15894  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0)
 15895  	code = *(*uintptr)(unsafe.Pointer(codeptr))
 15896  	last_code = code
 15897  	orig_code = code
 15898  	previous = uintptr(0)
 15899  	groupsetfirstcu = DFALSE
 15900  	had_accept = DFALSE
 15901  	matched_char = DFALSE
 15902  	previous_matched_char = DFALSE
 15903  	reset_caseful = DFALSE
 15904  	cbits = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits
 15905  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15906  	ucp = libc.Bool32(options&DPCRE2_UCP != Tuint32_t(0))
 15907  
 15908  	// Set up the default and non-default settings for greediness
 15909  
 15910  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 15911  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 15912  
 15913  	// Initialize no first unit, no required unit. REQ_UNSET means "no char
 15914  	// matching encountered yet". It gets changed to REQ_NONE if we hit something that
 15915  	// matches a non-fixed first unit; reqcu just remains unset if we never find one.
 15916  	//
 15917  	// When we hit a repeat whose minimum is zero, we may have to adjust these values
 15918  	// to take the zero repeat into account. This is implemented by setting them to
 15919  	// zerofirstcu and zeroreqcu when such a repeat is encountered. The individual
 15920  	// item types that can be repeated set these backoff variables appropriately.
 15921  
 15922  	firstcu = libc.AssignUint32(&reqcu, libc.AssignUint32(&zerofirstcu, libc.AssignUint32(&zeroreqcu, Tuint32_t(0))))
 15923  	firstcuflags = libc.AssignUint32(&reqcuflags, libc.AssignUint32(&zerofirstcuflags, libc.AssignUint32(&zeroreqcuflags, DREQ_UNSET)))
 15924  
 15925  	// The variable req_caseopt contains either the REQ_CASELESS bit or zero,
 15926  	// according to the current setting of the caseless flag. The REQ_CASELESS value
 15927  	// leaves the lower 28 bit empty. It is added into the firstcu or reqcu variables
 15928  	// to record the case status of the value. This is used only for ASCII characters.
 15929  
 15930  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15931  		req_caseopt = DREQ_CASELESS
 15932  	} else {
 15933  		req_caseopt = uint32(0)
 15934  	}
 15935  
 15936  	// Switch on next META item until the end of the branch
 15937  
 15938  __1:
 15939  	;
 15940  
 15941  	// Get next META item in the pattern and its potential argument.
 15942  
 15943  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0xffff0000
 15944  	meta_arg = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0x0000ffff
 15945  
 15946  	// If we are in the pre-compile phase, accumulate the length used for the
 15947  	//   previous cycle of this loop, unless the next item is a quantifier.
 15948  
 15949  	if !(lengthptr != uintptr(0)) {
 15950  		goto __4
 15951  	}
 15952  
 15953  	if !(code > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)-uintptr(100)) {
 15954  		goto __5
 15955  	} /* Check for overrun */
 15956  
 15957  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 15958  		if code >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size) {
 15959  			return ERR52
 15960  		}
 15961  		return ERR86
 15962  	}()
 15963  	return 0
 15964  __5:
 15965  	;
 15966  
 15967  	// There is at least one situation where code goes backwards: this is the
 15968  	//     case of a zero quantifier after a class (e.g. [ab]{0}). When the quantifier
 15969  	//     is processed, the whole class is eliminated. However, it is created first,
 15970  	//     so we have to allow memory for it. Therefore, don't ever reduce the length
 15971  	//     at this point.
 15972  
 15973  	if !(code < last_code) {
 15974  		goto __6
 15975  	}
 15976  	code = last_code
 15977  __6:
 15978  	;
 15979  
 15980  	// If the next thing is not a quantifier, we add the length of the previous
 15981  	//     item into the total, and reset the code pointer to the start of the
 15982  	//     workspace. Otherwise leave the previous item available to be quantified.
 15983  
 15984  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 15985  		goto __7
 15986  	}
 15987  
 15988  	if !(uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < Tsize_t((int64(code)-int64(orig_code))/1)) {
 15989  		goto __8
 15990  	}
 15991  
 15992  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Integer overflow
 15993  	return 0
 15994  __8:
 15995  	;
 15996  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(code) - int64(orig_code)) / 1)
 15997  	if !(*(*Tsize_t)(unsafe.Pointer(lengthptr)) > uint64(int32(1)<<16)) {
 15998  		goto __9
 15999  	}
 16000  
 16001  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Pattern is too large
 16002  	return 0
 16003  __9:
 16004  	;
 16005  	code = orig_code
 16006  __7:
 16007  	;
 16008  
 16009  	// Remember where this code item starts so we can catch the "backwards"
 16010  	//     case above next time round.
 16011  
 16012  	last_code = code
 16013  __4:
 16014  	;
 16015  
 16016  	// Process the next parsed pattern item. If it is not a quantifier, remember
 16017  	//   where it starts so that it can be quantified when a quantifier follows.
 16018  	//   Checking for the legality of quantifiers happens in parse_regex(), except for
 16019  	//   a quantifier after an assertion that is a condition.
 16020  
 16021  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 16022  		goto __10
 16023  	}
 16024  
 16025  	previous = code
 16026  	if !(matched_char != 0 && !(had_accept != 0)) {
 16027  		goto __11
 16028  	}
 16029  	okreturn = 1
 16030  __11:
 16031  	;
 16032  __10:
 16033  	;
 16034  
 16035  	previous_matched_char = matched_char
 16036  	matched_char = DFALSE
 16037  	note_group_empty = DFALSE
 16038  	skipunits = Tuint32_t(0) // Default value for most subgroups
 16039  
 16040  	switch meta {
 16041  	// ===================================================================
 16042  	// The branch terminates at pattern end or | or )
 16043  
 16044  	case DMETA_END:
 16045  		goto __13
 16046  	case DMETA_ALT:
 16047  		goto __14
 16048  	case DMETA_KET:
 16049  		goto __15
 16050  
 16051  	// ===================================================================
 16052  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16053  	//     the setting of any following char as a first character.
 16054  
 16055  	case DMETA_CIRCUMFLEX:
 16056  		goto __16
 16057  
 16058  	case DMETA_DOLLAR:
 16059  		goto __17
 16060  
 16061  	// There can never be a first char if '.' is first, whatever happens about
 16062  	//     repeats. The value of reqcu doesn't change either.
 16063  
 16064  	case DMETA_DOT:
 16065  		goto __18
 16066  
 16067  	// ===================================================================
 16068  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16069  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16070  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16071  	//     match any character, so generate OP_ALLANY.
 16072  
 16073  	case DMETA_CLASS_EMPTY:
 16074  		goto __19
 16075  	case DMETA_CLASS_EMPTY_NOT:
 16076  		goto __20
 16077  
 16078  	// ===================================================================
 16079  	// Non-empty character class. If the included characters are all < 256, we
 16080  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16081  	//     case where there is only one such character. For negated classes, we build
 16082  	//     the map as usual, then invert it at the end. However, we use a different
 16083  	//     opcode so that data characters > 255 can be handled correctly.
 16084  	//
 16085  	//     If the class contains characters outside the 0-255 range, a different
 16086  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16087  	//     but those above are are explicitly listed afterwards. A flag code unit
 16088  	//     tells whether the bitmap is present, and whether this is a negated class or
 16089  	//     not.
 16090  
 16091  	case DMETA_CLASS_NOT:
 16092  		goto __21
 16093  	case DMETA_CLASS:
 16094  		goto __22 // End of class processing
 16095  
 16096  	// ===================================================================
 16097  	// Deal with (*VERB)s.
 16098  
 16099  	// Check for open captures before ACCEPT and close those that are within
 16100  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 16101  	//     assertion. In the first pass, just accumulate the length required;
 16102  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 16103  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 16104  
 16105  	case DMETA_ACCEPT:
 16106  		goto __23
 16107  
 16108  	case DMETA_PRUNE:
 16109  		goto __24
 16110  	case DMETA_SKIP:
 16111  		goto __25
 16112  	// Fall through
 16113  	case DMETA_COMMIT:
 16114  		goto __26
 16115  	case DMETA_FAIL:
 16116  		goto __27
 16117  
 16118  	case DMETA_THEN:
 16119  		goto __28
 16120  
 16121  	// Handle verbs with arguments. Arguments can be very long, especially in
 16122  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 16123  	//     However, the argument length is constrained to be small enough to fit in
 16124  	//     one code unit. This check happens in parse_regex(). In the first pass,
 16125  	//     instead of putting the argument into memory, we just update the length
 16126  	//     counter and set up an empty argument.
 16127  
 16128  	case DMETA_THEN_ARG:
 16129  		goto __29
 16130  
 16131  	case DMETA_PRUNE_ARG:
 16132  		goto __30
 16133  	case DMETA_SKIP_ARG:
 16134  		goto __31
 16135  	// Fall through
 16136  	case DMETA_MARK:
 16137  		goto __32
 16138  	case DMETA_COMMIT_ARG:
 16139  		goto __33
 16140  
 16141  	// ===================================================================
 16142  	// Handle options change. The new setting must be passed back for use in
 16143  	//     subsequent branches. Reset the greedy defaults and the case value for
 16144  	//     firstcu and reqcu.
 16145  
 16146  	case DMETA_OPTIONS:
 16147  		goto __34
 16148  
 16149  	// ===================================================================
 16150  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 16151  	//     because it could be a numerical check on recursion, or a name check on a
 16152  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 16153  	//     we can handle it either way. We first try for a name; if not found, process
 16154  	//     the number.
 16155  
 16156  	case DMETA_COND_RNUMBER:
 16157  		goto __35 // (?(Rdigits)
 16158  	case DMETA_COND_NAME:
 16159  		goto __36 // (?(name) or (?'name') or ?(<name>)
 16160  	case DMETA_COND_RNAME:
 16161  		goto __37
 16162  
 16163  	// The DEFINE condition is always false. Its internal groups may never
 16164  	//     be called, so matched_char must remain false, hence the jump to
 16165  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 16166  
 16167  	case DMETA_COND_DEFINE:
 16168  		goto __38
 16169  
 16170  	// Conditional test of a group's being set.
 16171  
 16172  	case DMETA_COND_NUMBER:
 16173  		goto __39
 16174  
 16175  	// Test for the PCRE2 version.
 16176  
 16177  	case DMETA_COND_VERSION:
 16178  		goto __40
 16179  
 16180  	// The condition is an assertion, possibly preceded by a callout.
 16181  
 16182  	case DMETA_COND_ASSERT:
 16183  		goto __41
 16184  
 16185  	// ===================================================================
 16186  	// Handle all kinds of nested bracketed groups. The non-capturing,
 16187  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 16188  
 16189  	case DMETA_LOOKAHEAD:
 16190  		goto __42
 16191  
 16192  	case DMETA_LOOKAHEAD_NA:
 16193  		goto __43
 16194  
 16195  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 16196  	//     thing to do, but Perl allows all assertions to be quantified, and when
 16197  	//     they contain capturing parentheses there may be a potential use for
 16198  	//     this feature. Not that that applies to a quantified (?!) but we allow
 16199  	//     it for uniformity.
 16200  
 16201  	case DMETA_LOOKAHEADNOT:
 16202  		goto __44
 16203  
 16204  	case DMETA_LOOKBEHIND:
 16205  		goto __45
 16206  
 16207  	case DMETA_LOOKBEHINDNOT:
 16208  		goto __46
 16209  
 16210  	case DMETA_LOOKBEHIND_NA:
 16211  		goto __47
 16212  
 16213  	case DMETA_ATOMIC:
 16214  		goto __48
 16215  
 16216  	case DMETA_SCRIPT_RUN:
 16217  		goto __49
 16218  
 16219  	case DMETA_NOCAPTURE:
 16220  		goto __50 // End of nested group handling
 16221  
 16222  	// ===================================================================
 16223  	// Handle named backreferences and recursions.
 16224  
 16225  	case DMETA_BACKREF_BYNAME:
 16226  		goto __51
 16227  	case DMETA_RECURSE_BYNAME:
 16228  		goto __52
 16229  
 16230  	// ===================================================================
 16231  	// Handle a numerical callout.
 16232  
 16233  	case DMETA_CALLOUT_NUMBER:
 16234  		goto __53
 16235  
 16236  	// ===================================================================
 16237  	// Handle a callout with a string argument. In the pre-pass we just compute
 16238  	//     the length without generating anything. The length in pptr[3] includes both
 16239  	//     delimiters; in the actual compile only the first one is copied, but a
 16240  	//     terminating zero is added. Any doubled delimiters within the string make
 16241  	//     this an overestimate, but it is not worth bothering about.
 16242  
 16243  	case DMETA_CALLOUT_STRING:
 16244  		goto __54
 16245  
 16246  	// ===================================================================
 16247  	// Handle repetition. The different types are all sorted out in the parsing
 16248  	//     pass.
 16249  
 16250  	case DMETA_MINMAX_PLUS:
 16251  		goto __55
 16252  	case DMETA_MINMAX_QUERY:
 16253  		goto __56
 16254  	case DMETA_MINMAX:
 16255  		goto __57
 16256  
 16257  	case DMETA_ASTERISK:
 16258  		goto __58
 16259  	case DMETA_ASTERISK_PLUS:
 16260  		goto __59
 16261  	case DMETA_ASTERISK_QUERY:
 16262  		goto __60
 16263  
 16264  	case DMETA_PLUS:
 16265  		goto __61
 16266  	case DMETA_PLUS_PLUS:
 16267  		goto __62
 16268  	case DMETA_PLUS_QUERY:
 16269  		goto __63
 16270  
 16271  	case DMETA_QUERY:
 16272  		goto __64
 16273  	case DMETA_QUERY_PLUS:
 16274  		goto __65
 16275  	case DMETA_QUERY_QUERY:
 16276  		goto __66
 16277  
 16278  	// ===================================================================
 16279  	// Handle a 32-bit data character with a value greater than META_END.
 16280  
 16281  	case DMETA_BIGVALUE:
 16282  		goto __67
 16283  
 16284  	// ===============================================================
 16285  	// Handle a back reference by number, which is the meta argument. The
 16286  	//     pattern offsets for back references to group numbers less than 10 are held
 16287  	//     in a special vector, to avoid using more than two parsed pattern elements
 16288  	//     in 64-bit environments. We only need the offset to the first occurrence,
 16289  	//     because if that doesn't fail, subsequent ones will also be OK.
 16290  
 16291  	case DMETA_BACKREF:
 16292  		goto __68
 16293  
 16294  	// ===============================================================
 16295  	// Handle recursion by inserting the number of the called group (which is
 16296  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 16297  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 16298  	//     done like this to avoid problems with forward references and adjusting
 16299  	//     offsets when groups are duplicated and moved (as discovered in previous
 16300  	//     implementations). Note that a recursion does not have a set first
 16301  	//     character.
 16302  
 16303  	case DMETA_RECURSE:
 16304  		goto __69
 16305  
 16306  	// ===============================================================
 16307  	// Handle capturing parentheses; the number is the meta argument.
 16308  
 16309  	case DMETA_CAPTURE:
 16310  		goto __70
 16311  
 16312  	// ===============================================================
 16313  	// Handle escape sequence items. For ones like \d, the ESC_values are
 16314  	//     arranged to be the same as the corresponding OP_values in the default case
 16315  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 16316  	//     here).
 16317  	//
 16318  	//     Note: \Q and \E are never seen here, as they were dealt with in
 16319  	//     parse_pattern(). Neither are numerical back references or recursions, which
 16320  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 16321  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 16322  	//     META_RECURSE_BYNAME.
 16323  
 16324  	case DMETA_ESCAPE:
 16325  		goto __71 // End META_ESCAPE
 16326  
 16327  	// ===================================================================
 16328  	// Handle an unrecognized meta value. A parsed pattern value less than
 16329  	//     META_END is a literal. Otherwise we have a problem.
 16330  
 16331  	default:
 16332  		goto __72
 16333  	}
 16334  	goto __12
 16335  
 16336  	// ===================================================================
 16337  	// The branch terminates at pattern end or | or )
 16338  
 16339  __13:
 16340  __14:
 16341  __15:
 16342  	*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 16343  	*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 16344  	*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 16345  	*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 16346  	*(*uintptr)(unsafe.Pointer(codeptr)) = code
 16347  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */))
 16348  	return okreturn
 16349  
 16350  	// ===================================================================
 16351  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16352  	//     the setting of any following char as a first character.
 16353  
 16354  __16:
 16355  	if !(options&DPCRE2_MULTILINE != Tuint32_t(0)) {
 16356  		goto __73
 16357  	}
 16358  
 16359  	if !(firstcuflags == DREQ_UNSET) {
 16360  		goto __75
 16361  	}
 16362  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 16363  __75:
 16364  	;
 16365  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRCM
 16366  	goto __74
 16367  __73:
 16368  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRC
 16369  __74:
 16370  	;
 16371  	goto __12
 16372  
 16373  __17:
 16374  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16375  		if options&DPCRE2_MULTILINE != Tuint32_t(0) {
 16376  			return OP_DOLLM
 16377  		}
 16378  		return OP_DOLL
 16379  	}()
 16380  	goto __12
 16381  
 16382  	// There can never be a first char if '.' is first, whatever happens about
 16383  	//     repeats. The value of reqcu doesn't change either.
 16384  
 16385  __18:
 16386  	matched_char = DTRUE
 16387  	if !(firstcuflags == DREQ_UNSET) {
 16388  		goto __76
 16389  	}
 16390  	firstcuflags = DREQ_NONE
 16391  __76:
 16392  	;
 16393  	zerofirstcu = firstcu
 16394  	zerofirstcuflags = firstcuflags
 16395  	zeroreqcu = reqcu
 16396  	zeroreqcuflags = reqcuflags
 16397  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16398  		if options&DPCRE2_DOTALL != Tuint32_t(0) {
 16399  			return OP_ALLANY
 16400  		}
 16401  		return OP_ANY
 16402  	}()
 16403  	goto __12
 16404  
 16405  	// ===================================================================
 16406  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16407  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16408  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16409  	//     match any character, so generate OP_ALLANY.
 16410  
 16411  __19:
 16412  __20:
 16413  	matched_char = DTRUE
 16414  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16415  		if meta == DMETA_CLASS_EMPTY_NOT {
 16416  			return OP_ALLANY
 16417  		}
 16418  		return OP_FAIL
 16419  	}()
 16420  	if !(firstcuflags == DREQ_UNSET) {
 16421  		goto __77
 16422  	}
 16423  	firstcuflags = DREQ_NONE
 16424  __77:
 16425  	;
 16426  	zerofirstcu = firstcu
 16427  	zerofirstcuflags = firstcuflags
 16428  	goto __12
 16429  
 16430  	// ===================================================================
 16431  	// Non-empty character class. If the included characters are all < 256, we
 16432  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16433  	//     case where there is only one such character. For negated classes, we build
 16434  	//     the map as usual, then invert it at the end. However, we use a different
 16435  	//     opcode so that data characters > 255 can be handled correctly.
 16436  	//
 16437  	//     If the class contains characters outside the 0-255 range, a different
 16438  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16439  	//     but those above are are explicitly listed afterwards. A flag code unit
 16440  	//     tells whether the bitmap is present, and whether this is a negated class or
 16441  	//     not.
 16442  
 16443  __21:
 16444  __22:
 16445  	matched_char = DTRUE
 16446  	negate_class = libc.Bool32(meta == DMETA_CLASS_NOT)
 16447  
 16448  	// We can optimize the case of a single character in a class by generating
 16449  	//     OP_CHAR or OP_CHARI if it's positive, or OP_NOT or OP_NOTI if it's
 16450  	//     negative. In the negative case there can be no first char if this item is
 16451  	//     first, whatever repeat count may follow. In the case of reqcu, save the
 16452  	//     previous value for reinstating.
 16453  
 16454  	// NOTE: at present this optimization is not effective if the only
 16455  	//     character in a class in 32-bit, non-UCP mode has its top bit set.
 16456  
 16457  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == DMETA_CLASS_END) {
 16458  		goto __78
 16459  	}
 16460  
 16461  	c = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4))
 16462  
 16463  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) // Move on to class end
 16464  	if !(meta == DMETA_CLASS) {
 16465  		goto __79
 16466  	} /* A positive one-char class can be */
 16467  	// handled as a normal literal character.
 16468  	meta = c // Set up the character
 16469  	goto NORMAL_CHAR_SET
 16470  __79:
 16471  	;
 16472  
 16473  	// Handle a negative one-character class
 16474  
 16475  	zeroreqcu = reqcu
 16476  	zeroreqcuflags = reqcuflags
 16477  	if !(firstcuflags == DREQ_UNSET) {
 16478  		goto __80
 16479  	}
 16480  	firstcuflags = DREQ_NONE
 16481  __80:
 16482  	;
 16483  	zerofirstcu = firstcu
 16484  	zerofirstcuflags = firstcuflags
 16485  
 16486  	// For caseless UTF or UCP mode, check whether this character has more
 16487  	//       than one other case. If so, generate a special OP_NOTPROP item instead of
 16488  	//       OP_NOTI.
 16489  
 16490  	if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0) && libc.AssignUint32(&d, Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != Tuint32_t(0)) {
 16491  		goto __81
 16492  	}
 16493  
 16494  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_NOTPROP
 16495  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 16496  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(d)
 16497  	goto __12 // We are finished with this class
 16498  __81:
 16499  	;
 16500  	// Char has only one other case, or UCP not available
 16501  
 16502  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16503  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 16504  			return OP_NOTI
 16505  		}
 16506  		return OP_NOT
 16507  	}()
 16508  	code += func() uintptr {
 16509  		if utf != 0 && c > Tuint32_t(DMAX_UTF_SINGLE_CU) {
 16510  			return uintptr(X_pcre2_ord2utf_8(tls, c, code))
 16511  		}
 16512  		return uintptr(func() int32 { *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(c); return 1 }())
 16513  	}()
 16514  	goto __12 // We are finished with this class
 16515  __78:
 16516  	; // End of 1-char optimization
 16517  
 16518  	// Handle character classes that contain more than just one literal
 16519  	//     character. If there are exactly two characters in a positive class, see if
 16520  	//     they are case partners. This can be optimized to generate a caseless single
 16521  	//     character match (which also sets first/required code units if relevant).
 16522  
 16523  	if !(meta == DMETA_CLASS && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) == DMETA_CLASS_END) {
 16524  		goto __82
 16525  	}
 16526  
 16527  	c1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4))
 16528  
 16529  	if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fcaseset) == 0) {
 16530  		goto __83
 16531  	}
 16532  
 16533  	if !((utf != 0 || ucp != 0) && c1 > Tuint32_t(127)) {
 16534  		goto __84
 16535  	}
 16536  	d1 = Tuint32_t(int32(c1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 16537  	goto __85
 16538  __84:
 16539  
 16540  	d1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(c1))))
 16541  __85:
 16542  	;
 16543  
 16544  	if !(c1 != d1 && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == d1) {
 16545  		goto __86
 16546  	}
 16547  
 16548  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) // Move on to class end
 16549  	meta = c1
 16550  	if !(options&DPCRE2_CASELESS == Tuint32_t(0)) {
 16551  		goto __87
 16552  	}
 16553  
 16554  	reset_caseful = DTRUE
 16555  	options = options | DPCRE2_CASELESS
 16556  	req_caseopt = DREQ_CASELESS
 16557  __87:
 16558  	;
 16559  	goto CLASS_CASELESS_CHAR
 16560  __86:
 16561  	;
 16562  __83:
 16563  	;
 16564  __82:
 16565  	;
 16566  
 16567  	// If a non-extended class contains a negative special such as \S, we need
 16568  	//     to flip the negation flag at the end, so that support for characters > 255
 16569  	//     works correctly (they are all included in the class). An extended class may
 16570  	//     need to insert specific matching or non-matching code for wide characters.
 16571  	//
 16572  
 16573  	should_flip_negation = libc.AssignInt32(&match_all_or_no_wide_chars, DFALSE)
 16574  
 16575  	// Extended class (xclass) will be used when characters > 255
 16576  	//     might match.
 16577  
 16578  	xclass = DFALSE
 16579  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = code + uintptr(DLINK_SIZE) + uintptr(2) // For XCLASS items
 16580  	class_uchardata_base = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))                    // Save the start
 16581  
 16582  	// For optimization purposes, we track some properties of the class:
 16583  	//     class_has_8bitchar will be non-zero if the class contains at least one
 16584  	//     character with a code point less than 256; xclass_has_prop will be TRUE if
 16585  	//     Unicode property checks are present in the class.
 16586  
 16587  	class_has_8bitchar = 0
 16588  	xclass_has_prop = DFALSE
 16589  
 16590  	// Initialize the 256-bit (32-byte) bit map to all zeros. We build the map
 16591  	//     in a temporary bit of memory, in case the class contains fewer than two
 16592  	//     8-bit characters because in that case the compiled code doesn't use the bit
 16593  	//     map.
 16594  
 16595  	libc.Xmemset(tls, bp, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 16596  
 16597  	// Process items until META_CLASS_END is reached.
 16598  
 16599  __88:
 16600  	if !(libc.AssignUint32(&meta, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))) != DMETA_CLASS_END) {
 16601  		goto __89
 16602  	}
 16603  
 16604  	// Handle POSIX classes such as [:alpha:] etc.
 16605  
 16606  	if !(meta == DMETA_POSIX || meta == DMETA_POSIX_NEG) {
 16607  		goto __90
 16608  	}
 16609  
 16610  	local_negate = libc.Bool32(meta == DMETA_POSIX_NEG)
 16611  	posix_class = int32(*(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))))
 16612  
 16613  	should_flip_negation = local_negate // Note negative special
 16614  
 16615  	// If matching is caseless, upper and lower are converted to alpha.
 16616  	//         This relies on the fact that the class table starts with alpha,
 16617  	//         lower, upper as the first 3 entries.
 16618  
 16619  	if !(options&DPCRE2_CASELESS != Tuint32_t(0) && posix_class <= 2) {
 16620  		goto __91
 16621  	}
 16622  	posix_class = 0
 16623  __91:
 16624  	;
 16625  
 16626  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 16627  	//         different escape sequences that use Unicode properties \p or \P.
 16628  	//         Others that are not available via \p or \P have to generate
 16629  	//         XCL_PROP/XCL_NOTPROP directly, which is done here.
 16630  
 16631  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 16632  		goto __92
 16633  	}
 16634  	switch posix_class {
 16635  	case DPC_GRAPH:
 16636  		goto __94
 16637  	case DPC_PRINT:
 16638  		goto __95
 16639  	case DPC_PUNCT:
 16640  		goto __96
 16641  
 16642  	// For the other POSIX classes (ascii, xdigit) we are going to
 16643  	//           fall through to the non-UCP case and build a bit map for
 16644  	//           characters with code points less than 256. However, if we are in
 16645  	//           a negated POSIX class, characters with code points greater than
 16646  	//           255 must either all match or all not match, depending on whether
 16647  	//           the whole class is not or is negated. For example, for
 16648  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16649  	//           they must not.
 16650  	//
 16651  	//           In the special case where there are no xclass items, this is
 16652  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16653  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16654  	//           causes the range to be generated later when it is known that
 16655  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16656  	//           utf mode, since no wide characters can exist otherwise.
 16657  
 16658  	default:
 16659  		goto __97
 16660  	}
 16661  	goto __93
 16662  
 16663  __94:
 16664  __95:
 16665  __96:
 16666  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16667  		if local_negate != 0 {
 16668  			return uint8(DXCL_NOTPROP)
 16669  		}
 16670  		return uint8(DXCL_PROP)
 16671  	}()
 16672  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16673  		if posix_class == DPC_GRAPH {
 16674  			return uint8(DPT_PXGRAPH)
 16675  		}
 16676  		return func() uint8 {
 16677  			if posix_class == DPC_PRINT {
 16678  				return uint8(DPT_PXPRINT)
 16679  			}
 16680  			return uint8(DPT_PXPUNCT)
 16681  		}()
 16682  	}()
 16683  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(0)
 16684  	xclass_has_prop = DTRUE
 16685  	goto CONTINUE_CLASS
 16686  
 16687  	// For the other POSIX classes (ascii, xdigit) we are going to
 16688  	//           fall through to the non-UCP case and build a bit map for
 16689  	//           characters with code points less than 256. However, if we are in
 16690  	//           a negated POSIX class, characters with code points greater than
 16691  	//           255 must either all match or all not match, depending on whether
 16692  	//           the whole class is not or is negated. For example, for
 16693  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16694  	//           they must not.
 16695  	//
 16696  	//           In the special case where there are no xclass items, this is
 16697  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16698  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16699  	//           causes the range to be generated later when it is known that
 16700  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16701  	//           utf mode, since no wide characters can exist otherwise.
 16702  
 16703  __97:
 16704  	if !(utf != 0) {
 16705  		goto __98
 16706  	}
 16707  	match_all_or_no_wide_chars = match_all_or_no_wide_chars | local_negate
 16708  __98:
 16709  	;
 16710  	goto __93
 16711  __93:
 16712  	;
 16713  __92:
 16714  	;
 16715  
 16716  	// In the non-UCP case, or when UCP makes no difference, we build the
 16717  	//         bit map for the POSIX class in a chunk of local store because we may
 16718  	//         be adding and subtracting from it, and we don't want to subtract bits
 16719  	//         that may be in the main map already. At the end we or the result into
 16720  	//         the bit map that is being built.
 16721  
 16722  	posix_class = posix_class * 3
 16723  
 16724  	// Copy in the first table (always present)
 16725  
 16726  	libc.Xmemcpy(tls, bp+32, cbits+uintptr(posix_class_maps[posix_class]),
 16727  		uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 16728  
 16729  	// If there is a second table, add or remove it as required.
 16730  
 16731  	taboffset = posix_class_maps[posix_class+1]
 16732  	tabopt = posix_class_maps[posix_class+2]
 16733  
 16734  	if !(taboffset >= 0) {
 16735  		goto __99
 16736  	}
 16737  
 16738  	if !(tabopt >= 0) {
 16739  		goto __100
 16740  	}
 16741  	{
 16742  		i = 0
 16743  	__102:
 16744  		if !(i < 32) {
 16745  			goto __104
 16746  		}
 16747  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i+taboffset)))))
 16748  		goto __103
 16749  	__103:
 16750  		i++
 16751  		goto __102
 16752  		goto __104
 16753  	__104:
 16754  	}
 16755  	goto __101
 16756  __100:
 16757  	{
 16758  		i1 = 0
 16759  	__105:
 16760  		if !(i1 < 32) {
 16761  			goto __107
 16762  		}
 16763  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i1))) &= Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i1+taboffset)))))
 16764  		goto __106
 16765  	__106:
 16766  		i1++
 16767  		goto __105
 16768  		goto __107
 16769  	__107:
 16770  	}
 16771  __101:
 16772  	;
 16773  __99:
 16774  	;
 16775  
 16776  	// Now see if we need to remove any special characters. An option
 16777  	//         value of 1 removes vertical space and 2 removes underscore.
 16778  
 16779  	if !(tabopt < 0) {
 16780  		goto __108
 16781  	}
 16782  	tabopt = -tabopt
 16783  __108:
 16784  	;
 16785  	if !(tabopt == 1) {
 16786  		goto __109
 16787  	}
 16788  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 1)) &= libc.Uint8FromInt32(libc.CplInt32(0x3c))
 16789  	goto __110
 16790  __109:
 16791  	if !(tabopt == 2) {
 16792  		goto __111
 16793  	}
 16794  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 11)) &= Tuint8_t(0x7f)
 16795  __111:
 16796  	;
 16797  __110:
 16798  	;
 16799  
 16800  	// Add the POSIX table or its complement into the main table that is
 16801  	//         being built and we are done.
 16802  
 16803  	if !(local_negate != 0) {
 16804  		goto __112
 16805  	}
 16806  	{
 16807  		i2 = 0
 16808  	__114:
 16809  		if !(i2 < 32) {
 16810  			goto __116
 16811  		}
 16812  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i2))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i2)))))))
 16813  		goto __115
 16814  	__115:
 16815  		i2++
 16816  		goto __114
 16817  		goto __116
 16818  	__116:
 16819  	}
 16820  	goto __113
 16821  __112:
 16822  	{
 16823  		i3 = 0
 16824  	__117:
 16825  		if !(i3 < 32) {
 16826  			goto __119
 16827  		}
 16828  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i3))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i3)))))
 16829  		goto __118
 16830  	__118:
 16831  		i3++
 16832  		goto __117
 16833  		goto __119
 16834  	__119:
 16835  	}
 16836  __113:
 16837  	;
 16838  
 16839  	// Every class contains at least one < 256 character.
 16840  
 16841  	class_has_8bitchar = 1
 16842  	goto CONTINUE_CLASS // End of POSIX handling
 16843  __90:
 16844  	;
 16845  
 16846  	// Other than POSIX classes, the only items we should encounter are
 16847  	//       \d-type escapes and literal characters (possibly as ranges).
 16848  
 16849  	if !(meta == DMETA_BIGVALUE) {
 16850  		goto __120
 16851  	}
 16852  
 16853  	meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 16854  	goto CLASS_LITERAL
 16855  __120:
 16856  	;
 16857  
 16858  	// Any other non-literal must be an escape
 16859  
 16860  	if !(meta >= DMETA_END) {
 16861  		goto __121
 16862  	}
 16863  
 16864  	if !(meta&0xffff0000 != DMETA_ESCAPE) {
 16865  		goto __123
 16866  	}
 16867  
 16868  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 16869  	return 0
 16870  __123:
 16871  	;
 16872  	escape = meta & 0x0000ffff
 16873  
 16874  	// Every class contains at least one < 256 character.
 16875  
 16876  	class_has_8bitchar++
 16877  
 16878  	switch escape {
 16879  	case ESC_d:
 16880  		goto __125
 16881  
 16882  	case ESC_D:
 16883  		goto __126
 16884  
 16885  	case ESC_w:
 16886  		goto __127
 16887  
 16888  	case ESC_W:
 16889  		goto __128
 16890  
 16891  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 16892  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 16893  	//           previously set by something earlier in the character class.
 16894  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 16895  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 16896  	//           longer treat \s and \S specially.
 16897  
 16898  	case ESC_s:
 16899  		goto __129
 16900  
 16901  	case ESC_S:
 16902  		goto __130
 16903  
 16904  	// When adding the horizontal or vertical space lists to a class, or
 16905  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 16906  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 16907  	//           the XCLASS list (provoked by characters that have more than one other
 16908  	//           case and by both cases being in the same "not-x" sublist).
 16909  
 16910  	case ESC_h:
 16911  		goto __131
 16912  
 16913  	case ESC_H:
 16914  		goto __132
 16915  
 16916  	case ESC_v:
 16917  		goto __133
 16918  
 16919  	case ESC_V:
 16920  		goto __134
 16921  
 16922  	// If Unicode is not supported, \P and \p are not allowed and are
 16923  	//           faulted at parse time, so will never appear here.
 16924  
 16925  	case ESC_p:
 16926  		goto __135
 16927  	case ESC_P:
 16928  		goto __136
 16929  	}
 16930  	goto __124
 16931  
 16932  __125:
 16933  	{
 16934  		i4 = 0
 16935  	__137:
 16936  		if !(i4 < 32) {
 16937  			goto __139
 16938  		}
 16939  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i4))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i4+Dcbit_digit)))))
 16940  		goto __138
 16941  	__138:
 16942  		i4++
 16943  		goto __137
 16944  		goto __139
 16945  	__139:
 16946  	}
 16947  	goto __124
 16948  
 16949  __126:
 16950  	should_flip_negation = DTRUE
 16951  	{
 16952  		i5 = 0
 16953  	__140:
 16954  		if !(i5 < 32) {
 16955  			goto __142
 16956  		}
 16957  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i5))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i5+Dcbit_digit)))))))
 16958  		goto __141
 16959  	__141:
 16960  		i5++
 16961  		goto __140
 16962  		goto __142
 16963  	__142:
 16964  	}
 16965  	goto __124
 16966  
 16967  __127:
 16968  	{
 16969  		i6 = 0
 16970  	__143:
 16971  		if !(i6 < 32) {
 16972  			goto __145
 16973  		}
 16974  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i6))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i6+Dcbit_word)))))
 16975  		goto __144
 16976  	__144:
 16977  		i6++
 16978  		goto __143
 16979  		goto __145
 16980  	__145:
 16981  	}
 16982  	goto __124
 16983  
 16984  __128:
 16985  	should_flip_negation = DTRUE
 16986  	{
 16987  		i7 = 0
 16988  	__146:
 16989  		if !(i7 < 32) {
 16990  			goto __148
 16991  		}
 16992  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i7))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i7+Dcbit_word)))))))
 16993  		goto __147
 16994  	__147:
 16995  		i7++
 16996  		goto __146
 16997  		goto __148
 16998  	__148:
 16999  	}
 17000  	goto __124
 17001  
 17002  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 17003  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 17004  	//           previously set by something earlier in the character class.
 17005  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 17006  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 17007  	//           longer treat \s and \S specially.
 17008  
 17009  __129:
 17010  	{
 17011  		i8 = 0
 17012  	__149:
 17013  		if !(i8 < 32) {
 17014  			goto __151
 17015  		}
 17016  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i8))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i8+Dcbit_space)))))
 17017  		goto __150
 17018  	__150:
 17019  		i8++
 17020  		goto __149
 17021  		goto __151
 17022  	__151:
 17023  	}
 17024  	goto __124
 17025  
 17026  __130:
 17027  	should_flip_negation = DTRUE
 17028  	{
 17029  		i9 = 0
 17030  	__152:
 17031  		if !(i9 < 32) {
 17032  			goto __154
 17033  		}
 17034  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i9))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i9+Dcbit_space)))))))
 17035  		goto __153
 17036  	__153:
 17037  		i9++
 17038  		goto __152
 17039  		goto __154
 17040  	__154:
 17041  	}
 17042  	goto __124
 17043  
 17044  	// When adding the horizontal or vertical space lists to a class, or
 17045  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 17046  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 17047  	//           the XCLASS list (provoked by characters that have more than one other
 17048  	//           case and by both cases being in the same "not-x" sublist).
 17049  
 17050  __131:
 17051  	add_list_to_class(tls, bp, bp+64,
 17052  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)), DNOTACHAR)
 17053  	goto __124
 17054  
 17055  __132:
 17056  	add_not_list_to_class(tls, bp, bp+64,
 17057  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)))
 17058  	goto __124
 17059  
 17060  __133:
 17061  	add_list_to_class(tls, bp, bp+64,
 17062  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)), DNOTACHAR)
 17063  	goto __124
 17064  
 17065  __134:
 17066  	add_not_list_to_class(tls, bp, bp+64,
 17067  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)))
 17068  	goto __124
 17069  
 17070  	// If Unicode is not supported, \P and \p are not allowed and are
 17071  	//           faulted at parse time, so will never appear here.
 17072  
 17073  __135:
 17074  __136:
 17075  
 17076  	ptype = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16
 17077  	pdata = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff)
 17078  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 17079  		if escape == ESC_p {
 17080  			return uint8(DXCL_PROP)
 17081  		}
 17082  		return uint8(DXCL_NOTPROP)
 17083  	}()
 17084  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(ptype)
 17085  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(pdata)
 17086  	xclass_has_prop = DTRUE
 17087  	class_has_8bitchar-- // Undo!
 17088  
 17089  	goto __124
 17090  __124:
 17091  	;
 17092  
 17093  	goto CONTINUE_CLASS
 17094  	goto __122
 17095  __121:
 17096  
 17097  CLASS_LITERAL:
 17098  	c2 = libc.AssignUint32(&d2, meta)
 17099  
 17100  	// Remember if \r or \n were explicitly used
 17101  
 17102  	if !(c2 == Tuint32_t('\015') || c2 == Tuint32_t('\012')) {
 17103  		goto __155
 17104  	}
 17105  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17106  __155:
 17107  	;
 17108  
 17109  	// Process a character range
 17110  
 17111  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_LITERAL || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_ESCAPED) {
 17112  		goto __156
 17113  	}
 17114  
 17115  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17116  	d2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */))))
 17117  	if !(d2 == DMETA_BIGVALUE) {
 17118  		goto __157
 17119  	}
 17120  	d2 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17121  __157:
 17122  	;
 17123  
 17124  	// Remember an explicit \r or \n, and add the range to the class.
 17125  
 17126  	if !(d2 == Tuint32_t('\015') || d2 == Tuint32_t('\012')) {
 17127  		goto __158
 17128  	}
 17129  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17130  __158:
 17131  	;
 17132  
 17133  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 17134  	//           because there are holes in the encoding, and simply using the range
 17135  	//           A-Z (for example) would include the characters in the holes. This
 17136  	//           applies only to literal ranges; [\xC1-\xE9] is different to [A-Z].
 17137  
 17138  	// Not an EBCDIC special range
 17139  
 17140  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, c2, d2))
 17141  	goto CONTINUE_CLASS // Go get the next char in the class
 17142  __156:
 17143  	; // End of range handling
 17144  
 17145  	// Handle a single character.
 17146  
 17147  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, meta, meta))
 17148  __122:
 17149  	;
 17150  
 17151  	// Continue to the next item in the class.
 17152  
 17153  CONTINUE_CLASS:
 17154  
 17155  	// If any wide characters or Unicode properties have been encountered,
 17156  	//       set xclass = TRUE. Then, in the pre-compile phase, accumulate the length
 17157  	//       of the extra data and reset the pointer. This is so that very large
 17158  	//       classes that contain a zillion wide characters or Unicode property tests
 17159  	//       do not overwrite the workspace (which is on the stack).
 17160  
 17161  	if !(*(*uintptr)(unsafe.Pointer(bp + 64)) > class_uchardata_base) {
 17162  		goto __159
 17163  	}
 17164  
 17165  	xclass = DTRUE
 17166  	if !(lengthptr != uintptr(0)) {
 17167  		goto __160
 17168  	}
 17169  
 17170  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 64))) - int64(class_uchardata_base)) / 1)
 17171  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = class_uchardata_base
 17172  __160:
 17173  	;
 17174  __159:
 17175  	;
 17176  
 17177  	goto __88 // Needed to avoid error when not supporting wide chars
 17178  	goto __88
 17179  __89:
 17180  	; // End of main class-processing loop
 17181  
 17182  	// If this class is the first thing in the branch, there can be no first
 17183  	//     char setting, whatever the repeat count. Any reqcu setting must remain
 17184  	//     unchanged after any kind of repeat.
 17185  
 17186  	if !(firstcuflags == DREQ_UNSET) {
 17187  		goto __161
 17188  	}
 17189  	firstcuflags = DREQ_NONE
 17190  __161:
 17191  	;
 17192  	zerofirstcu = firstcu
 17193  	zerofirstcuflags = firstcuflags
 17194  	zeroreqcu = reqcu
 17195  	zeroreqcuflags = reqcuflags
 17196  
 17197  	// If there are characters with values > 255, or Unicode property settings
 17198  	//     (\p or \P), we have to compile an extended class, with its own opcode,
 17199  	//     unless there were no property settings and there was a negated special such
 17200  	//     as \S in the class, and PCRE2_UCP is not set, because in that case all
 17201  	//     characters > 255 are in or not in the class, so any that were explicitly
 17202  	//     given as well can be ignored.
 17203  	//
 17204  	//     In the UCP case, if certain negated POSIX classes ([:^ascii:] or
 17205  	//     [^:xdigit:]) were present in a class, we either have to match or not match
 17206  	//     all wide characters (depending on whether the whole class is or is not
 17207  	//     negated). This requirement is indicated by match_all_or_no_wide_chars being
 17208  	//     true. We do this by including an explicit range, which works in both cases.
 17209  	//     This applies only in UTF and 16-bit and 32-bit non-UTF modes, since there
 17210  	//     cannot be any wide characters in 8-bit non-UTF mode.
 17211  	//
 17212  	//     When there *are* properties in a positive UTF-8 or any 16-bit or 32_bit
 17213  	//     class where \S etc is present without PCRE2_UCP, causing an extended class
 17214  	//     to be compiled, we make sure that all characters > 255 are included by
 17215  	//     forcing match_all_or_no_wide_chars to be true.
 17216  	//
 17217  	//     If, when generating an xclass, there are no characters < 256, we can omit
 17218  	//     the bitmap in the actual compiled code.
 17219  
 17220  	if !(xclass != 0 && (options&DPCRE2_UCP != Tuint32_t(0) || xclass_has_prop != 0 || !(should_flip_negation != 0))) {
 17221  		goto __162
 17222  	}
 17223  
 17224  	if !(match_all_or_no_wide_chars != 0 || utf != 0 && should_flip_negation != 0 && !(negate_class != 0) && options&DPCRE2_UCP == Tuint32_t(0)) {
 17225  		goto __163
 17226  	}
 17227  
 17228  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 17229  	if !(utf != 0) {
 17230  		goto __164
 17231  	} /* Will always be utf in the 8-bit library */
 17232  
 17233  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(0x100), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))))
 17234  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(DMAX_UTF_CODE_POINT), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))))
 17235  	goto __165
 17236  __164: /* Can only happen for the 16-bit & 32-bit libraries */
 17237  
 17238  	;
 17239  __165:
 17240  	;
 17241  __163:
 17242  	;
 17243  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_END) // Marks the end of extra data
 17244  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_XCLASS
 17245  	code += uintptr(DLINK_SIZE)
 17246  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = func() uint8 {
 17247  		if negate_class != 0 {
 17248  			return uint8(DXCL_NOT)
 17249  		}
 17250  		return uint8(0)
 17251  	}()
 17252  	if !(xclass_has_prop != 0) {
 17253  		goto __166
 17254  	}
 17255  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) |= TPCRE2_UCHAR8(DXCL_HASPROP)
 17256  __166:
 17257  	;
 17258  
 17259  	// If the map is required, move up the extra data to make room for it;
 17260  	//       otherwise just move the code pointer to the end of the extra data.
 17261  
 17262  	if !(class_has_8bitchar > 0) {
 17263  		goto __167
 17264  	}
 17265  
 17266  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) |= TPCRE2_UCHAR8(DXCL_MAP)
 17267  	libc.Xmemmove(tls, code+uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), code,
 17268  		uint64((int64(*(*uintptr)(unsafe.Pointer(bp + 64)))-int64(code))/1*int64(DPCRE2_CODE_UNIT_WIDTH/8)))
 17269  	if !(negate_class != 0 && !(xclass_has_prop != 0)) {
 17270  		goto __169
 17271  	}
 17272  
 17273  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17274  	{
 17275  		i10 = 0
 17276  	__170:
 17277  		if !(i10 < 32) {
 17278  			goto __172
 17279  		}
 17280  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10)))))
 17281  		goto __171
 17282  	__171:
 17283  		i10++
 17284  		goto __170
 17285  		goto __172
 17286  	__172:
 17287  	}
 17288  __169:
 17289  	;
 17290  	libc.Xmemcpy(tls, code, bp, uint64(32))
 17291  	code = *(*uintptr)(unsafe.Pointer(bp + 64)) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17292  	goto __168
 17293  __167:
 17294  	code = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))
 17295  __168:
 17296  	;
 17297  
 17298  	// Now fill in the complete length of the item
 17299  
 17300  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) >> 8)
 17301  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) & 255)
 17302  	goto __12 // End of class handling
 17303  __162:
 17304  	;
 17305  
 17306  	// If there are no characters > 255, or they are all to be included or
 17307  	//     excluded, set the opcode to OP_CLASS or OP_NCLASS, depending on whether the
 17308  	//     whole class was negated and whether there were negative specials such as \S
 17309  	//     (non-UCP) in the class. Then copy the 32-byte map into the code vector,
 17310  	//     negating it if necessary.
 17311  
 17312  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17313  		if negate_class == should_flip_negation {
 17314  			return OP_CLASS
 17315  		}
 17316  		return OP_NCLASS
 17317  	}()
 17318  	if !(lengthptr == uintptr(0)) {
 17319  		goto __173
 17320  	} /* Save time in the pre-compile phase */
 17321  
 17322  	if !(negate_class != 0) {
 17323  		goto __174
 17324  	}
 17325  
 17326  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17327  	{
 17328  		i11 = 0
 17329  	__175:
 17330  		if !(i11 < 32) {
 17331  			goto __177
 17332  		}
 17333  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11)))))
 17334  		goto __176
 17335  	__176:
 17336  		i11++
 17337  		goto __175
 17338  		goto __177
 17339  	__177:
 17340  	}
 17341  __174:
 17342  	;
 17343  	libc.Xmemcpy(tls, code, bp, uint64(32))
 17344  __173:
 17345  	;
 17346  	code += uintptr(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17347  	goto __12 // End of class processing
 17348  
 17349  	// ===================================================================
 17350  	// Deal with (*VERB)s.
 17351  
 17352  	// Check for open captures before ACCEPT and close those that are within
 17353  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 17354  	//     assertion. In the first pass, just accumulate the length required;
 17355  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 17356  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 17357  
 17358  __23:
 17359  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_accept = libc.AssignInt32(&had_accept, DTRUE)
 17360  	oc = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 17361  __178:
 17362  	if !(oc != uintptr(0) && int32((*Topen_capitem)(unsafe.Pointer(oc)).Fassert_depth) >= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth)) {
 17363  		goto __180
 17364  	}
 17365  
 17366  	if !(lengthptr != uintptr(0)) {
 17367  		goto __181
 17368  	}
 17369  
 17370  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8) + DIMM2_SIZE)
 17371  	goto __182
 17372  __181:
 17373  
 17374  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CLOSE
 17375  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) >> 8)
 17376  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) & 255)
 17377  	code += uintptr(DIMM2_SIZE)
 17378  __182:
 17379  	;
 17380  	goto __179
 17381  __179:
 17382  	oc = (*Topen_capitem)(unsafe.Pointer(oc)).Fnext
 17383  	goto __178
 17384  	goto __180
 17385  __180:
 17386  	;
 17387  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17388  		if int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 {
 17389  			return OP_ASSERT_ACCEPT
 17390  		}
 17391  		return OP_ACCEPT
 17392  	}()
 17393  	if !(firstcuflags == DREQ_UNSET) {
 17394  		goto __183
 17395  	}
 17396  	firstcuflags = DREQ_NONE
 17397  __183:
 17398  	;
 17399  	goto __12
 17400  
 17401  __24:
 17402  __25:
 17403  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17404  	// Fall through
 17405  __26:
 17406  __27:
 17407  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17408  	goto __12
 17409  
 17410  __28:
 17411  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN)
 17412  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_THEN
 17413  	goto __12
 17414  
 17415  	// Handle verbs with arguments. Arguments can be very long, especially in
 17416  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 17417  	//     However, the argument length is constrained to be small enough to fit in
 17418  	//     one code unit. This check happens in parse_regex(). In the first pass,
 17419  	//     instead of putting the argument into memory, we just update the length
 17420  	//     counter and set up an empty argument.
 17421  
 17422  __29:
 17423  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN)
 17424  	goto VERB_ARG
 17425  
 17426  __30:
 17427  __31:
 17428  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17429  	// Fall through
 17430  __32:
 17431  __33:
 17432  VERB_ARG:
 17433  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17434  	// The length is in characters.
 17435  	verbarglen = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17436  	verbculen = Tuint32_t(0)
 17437  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = libc.PostIncUintptr(&code, 1)
 17438  	{
 17439  		i17 = 0
 17440  	__184:
 17441  		if !(i17 < int32(verbarglen)) {
 17442  			goto __186
 17443  		}
 17444  
 17445  		meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17446  		if !(utf != 0) {
 17447  			goto __187
 17448  		}
 17449  		mclength = X_pcre2_ord2utf_8(tls, meta, bp+72)
 17450  		goto __188
 17451  	__187:
 17452  
 17453  		mclength = Tuint32_t(1)
 17454  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta)
 17455  	__188:
 17456  		;
 17457  		if !(lengthptr != uintptr(0)) {
 17458  			goto __189
 17459  		}
 17460  		*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(mclength)
 17461  		goto __190
 17462  	__189:
 17463  
 17464  		libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 17465  		code += uintptr(mclength)
 17466  		verbculen = verbculen + mclength
 17467  	__190:
 17468  		;
 17469  		goto __185
 17470  	__185:
 17471  		i17++
 17472  		goto __184
 17473  		goto __186
 17474  	__186:
 17475  	}
 17476  
 17477  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = TPCRE2_UCHAR8(verbculen) // Fill in the code unit length
 17478  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(0)                               // Terminating zero
 17479  	goto __12
 17480  
 17481  	// ===================================================================
 17482  	// Handle options change. The new setting must be passed back for use in
 17483  	//     subsequent branches. Reset the greedy defaults and the case value for
 17484  	//     firstcu and reqcu.
 17485  
 17486  __34:
 17487  	*(*Tuint32_t)(unsafe.Pointer(optionsptr)) = libc.AssignUint32(&options, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))))
 17488  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 17489  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 17490  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 17491  		req_caseopt = DREQ_CASELESS
 17492  	} else {
 17493  		req_caseopt = uint32(0)
 17494  	}
 17495  	goto __12
 17496  
 17497  	// ===================================================================
 17498  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 17499  	//     because it could be a numerical check on recursion, or a name check on a
 17500  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 17501  	//     we can handle it either way. We first try for a name; if not found, process
 17502  	//     the number.
 17503  
 17504  __35: // (?(Rdigits)
 17505  __36: // (?(name) or (?'name') or ?(<name>)
 17506  __37: // (?(R&name) - test for recursion
 17507  	bravalue = OP_COND
 17508  
 17509  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 17510  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17511  
 17512  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17513  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17514  
 17515  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 17516  
 17517  	// In the first pass, the names generated in the pre-pass are available,
 17518  	//       but the main name table has not yet been created. Scan the list of names
 17519  	//       generated in the pre-pass in order to get a number and whether or not
 17520  	//       this name is duplicated. If it is not duplicated, we can handle it as a
 17521  	//       numerical group.
 17522  
 17523  	i12 = uint32(0)
 17524  __191:
 17525  	if !(i12 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17526  		goto __193
 17527  	}
 17528  
 17529  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) {
 17530  		goto __194
 17531  	}
 17532  
 17533  	if !!(int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup) != 0) {
 17534  		goto __195
 17535  	}
 17536  
 17537  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17538  		if meta == DMETA_COND_RNAME {
 17539  			return OP_RREF
 17540  		}
 17541  		return OP_CREF
 17542  	}()
 17543  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber >> 8)
 17544  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber & Tuint32_t(255))
 17545  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17546  		goto __196
 17547  	}
 17548  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 17549  __196:
 17550  	;
 17551  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17552  	goto GROUP_PROCESS_NOTE_EMPTY
 17553  __195:
 17554  	;
 17555  	goto __193 // Found a duplicated name
 17556  __194:
 17557  	;
 17558  	goto __192
 17559  __192:
 17560  	i12++
 17561  	ng += 16
 17562  	goto __191
 17563  	goto __193
 17564  __193:
 17565  	;
 17566  
 17567  	// If the name was not found we have a bad reference, unless we are
 17568  	//       dealing with R<digits>, which is treated as a recursion test by number.
 17569  	//
 17570  
 17571  	if !(i12 >= uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17572  		goto __197
 17573  	}
 17574  
 17575  	groupnumber = Tuint32_t(0)
 17576  	if !(meta == DMETA_COND_RNUMBER) {
 17577  		goto __198
 17578  	}
 17579  
 17580  	i12 = uint32(1)
 17581  __199:
 17582  	if !(i12 < length) {
 17583  		goto __201
 17584  	}
 17585  
 17586  	groupnumber = groupnumber*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(name + uintptr(i12)))) - Tuint32_t('\060')
 17587  	if !(groupnumber > DMAX_GROUP_NUMBER) {
 17588  		goto __202
 17589  	}
 17590  
 17591  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 17592  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset + Tsize_t(i12)
 17593  	return 0
 17594  __202:
 17595  	;
 17596  	goto __200
 17597  __200:
 17598  	i12++
 17599  	goto __199
 17600  	goto __201
 17601  __201:
 17602  	;
 17603  __198:
 17604  	;
 17605  
 17606  	if !(meta != DMETA_COND_RNUMBER || groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17607  		goto __203
 17608  	}
 17609  
 17610  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17611  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17612  	return 0
 17613  __203:
 17614  	;
 17615  
 17616  	// (?Rdigits) treated as a recursion reference by number. A value of
 17617  	//         zero (which is the result of both (?R) and (?R0)) means "any", and is
 17618  	//         translated into RREF_ANY (which is 0xffff).
 17619  
 17620  	if !(groupnumber == Tuint32_t(0)) {
 17621  		goto __204
 17622  	}
 17623  	groupnumber = Tuint32_t(DRREF_ANY)
 17624  __204:
 17625  	;
 17626  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_RREF
 17627  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17628  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17629  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17630  	goto GROUP_PROCESS_NOTE_EMPTY
 17631  __197:
 17632  	;
 17633  
 17634  	// A duplicated name was found. Note that if an R<digits> name is found
 17635  	//       (META_COND_RNUMBER), it is a reference test, not a recursion test.
 17636  
 17637  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17638  		if meta == DMETA_COND_RNAME {
 17639  			return OP_RREF
 17640  		}
 17641  		return OP_CREF
 17642  	}()
 17643  
 17644  	// We have a duplicated name. In the compile pass we have to search the
 17645  	//       main table in order to get the index and count values.
 17646  
 17647  	*(*int32)(unsafe.Pointer(bp + 84 /* count */)) = 0 // Values for first pass (avoids compiler warning)
 17648  	*(*int32)(unsafe.Pointer(bp + 80 /* index */)) = 0
 17649  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name, length, bp+80,
 17650  		bp+84, errorcodeptr, cb) != 0)) {
 17651  		goto __205
 17652  	}
 17653  	return 0
 17654  __205:
 17655  	;
 17656  
 17657  	// Add one to the opcode to change CREF/RREF into DNCREF/DNRREF and
 17658  	//       insert appropriate data values.
 17659  
 17660  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))++
 17661  	skipunits = Tuint32_t(1 + 2*DIMM2_SIZE)
 17662  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) >> 8)
 17663  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) & 255)
 17664  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) >> 8)
 17665  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) & 255)
 17666  
 17667  	goto GROUP_PROCESS_NOTE_EMPTY
 17668  
 17669  	// The DEFINE condition is always false. Its internal groups may never
 17670  	//     be called, so matched_char must remain false, hence the jump to
 17671  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 17672  
 17673  __38:
 17674  	bravalue = OP_COND
 17675  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17676  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17677  
 17678  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_DEFINE
 17679  	skipunits = Tuint32_t(1)
 17680  	goto GROUP_PROCESS
 17681  
 17682  	// Conditional test of a group's being set.
 17683  
 17684  __39:
 17685  	bravalue = OP_COND
 17686  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17687  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17688  
 17689  	groupnumber = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17690  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17691  		goto __206
 17692  	}
 17693  
 17694  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17695  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17696  	return 0
 17697  __206:
 17698  	;
 17699  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17700  		goto __207
 17701  	}
 17702  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 17703  __207:
 17704  	;
 17705  	offset = offset - uint64(2) // Point at initial ( for too many branches error
 17706  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_CREF
 17707  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17708  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17709  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17710  	goto GROUP_PROCESS_NOTE_EMPTY
 17711  
 17712  	// Test for the PCRE2 version.
 17713  
 17714  __40:
 17715  	bravalue = OP_COND
 17716  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) > Tuint32_t(0)) {
 17717  		goto __208
 17718  	}
 17719  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17720  		if Tuint32_t(DPCRE2_MAJOR) > *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) || Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) >= *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) {
 17721  			return OP_TRUE
 17722  		}
 17723  		return OP_FALSE
 17724  	}()
 17725  	goto __209
 17726  __208:
 17727  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17728  		if Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) {
 17729  			return OP_TRUE
 17730  		}
 17731  		return OP_FALSE
 17732  	}()
 17733  __209:
 17734  	;
 17735  	skipunits = Tuint32_t(1)
 17736  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 17737  	goto GROUP_PROCESS_NOTE_EMPTY
 17738  
 17739  	// The condition is an assertion, possibly preceded by a callout.
 17740  
 17741  __41:
 17742  	bravalue = OP_COND
 17743  	goto GROUP_PROCESS_NOTE_EMPTY
 17744  
 17745  	// ===================================================================
 17746  	// Handle all kinds of nested bracketed groups. The non-capturing,
 17747  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 17748  
 17749  __42:
 17750  	bravalue = OP_ASSERT
 17751  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17752  	goto GROUP_PROCESS
 17753  
 17754  __43:
 17755  	bravalue = OP_ASSERT_NA
 17756  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17757  	goto GROUP_PROCESS
 17758  
 17759  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 17760  	//     thing to do, but Perl allows all assertions to be quantified, and when
 17761  	//     they contain capturing parentheses there may be a potential use for
 17762  	//     this feature. Not that that applies to a quantified (?!) but we allow
 17763  	//     it for uniformity.
 17764  
 17765  __44:
 17766  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_KET && (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_ASTERISK || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) > DMETA_MINMAX_QUERY)) {
 17767  		goto __210
 17768  	}
 17769  
 17770  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_FAIL
 17771  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 17772  	goto __211
 17773  __210:
 17774  
 17775  	bravalue = OP_ASSERT_NOT
 17776  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17777  	goto GROUP_PROCESS
 17778  __211:
 17779  	;
 17780  	goto __12
 17781  
 17782  __45:
 17783  	bravalue = OP_ASSERTBACK
 17784  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17785  	goto GROUP_PROCESS
 17786  
 17787  __46:
 17788  	bravalue = OP_ASSERTBACK_NOT
 17789  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17790  	goto GROUP_PROCESS
 17791  
 17792  __47:
 17793  	bravalue = OP_ASSERTBACK_NA
 17794  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17795  	goto GROUP_PROCESS
 17796  
 17797  __48:
 17798  	bravalue = OP_ONCE
 17799  	goto GROUP_PROCESS_NOTE_EMPTY
 17800  
 17801  __49:
 17802  	bravalue = OP_SCRIPT_RUN
 17803  	goto GROUP_PROCESS_NOTE_EMPTY
 17804  
 17805  __50:
 17806  	bravalue = OP_BRA
 17807  	// Fall through
 17808  
 17809  	// Process nested bracketed regex. The nesting depth is maintained for the
 17810  	//     benefit of the stackguard function. The test for too deep nesting is now
 17811  	//     done in parse_regex(). Assertion and DEFINE groups come to GROUP_PROCESS;
 17812  	//     others come to GROUP_PROCESS_NOTE_EMPTY, to indicate that we need to take
 17813  	//     note of whether or not they may match an empty string.
 17814  
 17815  GROUP_PROCESS_NOTE_EMPTY:
 17816  	note_group_empty = DTRUE
 17817  
 17818  GROUP_PROCESS:
 17819  	*(*Tuint16_t)(unsafe.Pointer(cb + 180)) += Tuint16_t(1)
 17820  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(bravalue)
 17821  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 17822  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = code
 17823  	tempreqvary = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt       // Save value before group
 17824  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0) // Initialize for pre-compile phase
 17825  
 17826  	if !(libc.AssignInt32(&group_return, compile_regex(tls,
 17827  		options,
 17828  		bp+88,
 17829  		bp+96,
 17830  		errorcodeptr,
 17831  		skipunits,
 17832  		bp+104,
 17833  		bp+108,
 17834  		bp+112,
 17835  		bp+116,
 17836  		bcptr,
 17837  		cb,
 17838  		func() uintptr {
 17839  			if lengthptr == uintptr(0) {
 17840  				return uintptr(0)
 17841  			}
 17842  			return bp + 120
 17843  		}())) == 0) {
 17844  		goto __212
 17845  	}
 17846  	return 0
 17847  __212:
 17848  	; // Error
 17849  
 17850  	*(*Tuint16_t)(unsafe.Pointer(cb + 180)) -= Tuint16_t(1)
 17851  
 17852  	// If that was a non-conditional significant group (not an assertion, not a
 17853  	//     DEFINE) that matches at least one character, then the current item matches
 17854  	//     a character. Conditionals are handled below.
 17855  
 17856  	if !(note_group_empty != 0 && bravalue != OP_COND && group_return > 0) {
 17857  		goto __213
 17858  	}
 17859  	matched_char = DTRUE
 17860  __213:
 17861  	;
 17862  
 17863  	// If we've just compiled an assertion, pop the assert depth.
 17864  
 17865  	if !(bravalue >= OP_ASSERT && bravalue <= OP_ASSERTBACK_NA) {
 17866  		goto __214
 17867  	}
 17868  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) -= Tuint16_t(1)
 17869  __214:
 17870  	;
 17871  
 17872  	// At the end of compiling, code is still pointing to the start of the
 17873  	//     group, while tempcode has been updated to point past the end of the group.
 17874  	//     The parsed pattern pointer (pptr) is on the closing META_KET.
 17875  	//
 17876  	//     If this is a conditional bracket, check that there are no more than
 17877  	//     two branches in the group, or just one if it's a DEFINE group. We do this
 17878  	//     in the real compile phase, not in the pre-pass, where the whole group may
 17879  	//     not be available.
 17880  
 17881  	if !(bravalue == OP_COND && lengthptr == uintptr(0)) {
 17882  		goto __215
 17883  	}
 17884  
 17885  	tc = code
 17886  	condcount = 0
 17887  
 17888  __216:
 17889  	condcount++
 17890  	tc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 2)))))
 17891  	goto __217
 17892  __217:
 17893  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc))) != OP_KET {
 17894  		goto __216
 17895  	}
 17896  	goto __218
 17897  __218:
 17898  	;
 17899  
 17900  	// A DEFINE group is never obeyed inline (the "condition" is always
 17901  	//       false). It must have only one branch. Having checked this, change the
 17902  	//       opcode to OP_FALSE.
 17903  
 17904  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_DEFINE) {
 17905  		goto __219
 17906  	}
 17907  
 17908  	if !(condcount > 1) {
 17909  		goto __221
 17910  	}
 17911  
 17912  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17913  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR54
 17914  	return 0
 17915  __221:
 17916  	;
 17917  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_FALSE
 17918  	bravalue = OP_DEFINE // A flag to suppress char handling below
 17919  	goto __220
 17920  __219:
 17921  
 17922  	if !(condcount > 2) {
 17923  		goto __222
 17924  	}
 17925  
 17926  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17927  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR27
 17928  	return 0
 17929  __222:
 17930  	;
 17931  	if !(condcount == 1) {
 17932  		goto __223
 17933  	}
 17934  	*(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */)) = libc.AssignPtrUint32(bp+116 /* subreqcuflags */, DREQ_NONE)
 17935  	goto __224
 17936  __223:
 17937  	if !(group_return > 0) {
 17938  		goto __225
 17939  	}
 17940  	matched_char = DTRUE
 17941  __225:
 17942  	;
 17943  __224:
 17944  	;
 17945  __220:
 17946  	;
 17947  __215:
 17948  	;
 17949  
 17950  	// In the pre-compile phase, update the length by the length of the group,
 17951  	//     less the brackets at either end. Then reduce the compiled code to just a
 17952  	//     set of non-capturing brackets so that it doesn't use much memory if it is
 17953  	//     duplicated by a quantifier.
 17954  
 17955  	if !(lengthptr != uintptr(0)) {
 17956  		goto __226
 17957  	}
 17958  
 17959  	if !(uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 120))-uint64(2)-uint64(2*DLINK_SIZE)) {
 17960  		goto __227
 17961  	}
 17962  
 17963  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 17964  	return 0
 17965  __227:
 17966  	;
 17967  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 120)) - uint64(2) - uint64(2*DLINK_SIZE)
 17968  	code++ // This already contains bravalue
 17969  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17970  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17971  	code += uintptr(DLINK_SIZE)
 17972  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 17973  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17974  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17975  	code += uintptr(DLINK_SIZE)
 17976  	goto __12 // No need to waste time with special character handling
 17977  __226:
 17978  	;
 17979  
 17980  	// Otherwise update the main code pointer to the end of the group.
 17981  
 17982  	code = *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))
 17983  
 17984  	// For a DEFINE group, required and first character settings are not
 17985  	//     relevant.
 17986  
 17987  	if !(bravalue == OP_DEFINE) {
 17988  		goto __228
 17989  	}
 17990  	goto __12
 17991  __228:
 17992  	;
 17993  
 17994  	// Handle updating of the required and first code units for other types of
 17995  	//     group. Update for normal brackets of all kinds, and conditions with two
 17996  	//     branches (see code above). If the bracket is followed by a quantifier with
 17997  	//     zero repeat, we have to back off. Hence the definition of zeroreqcu and
 17998  	//     zerofirstcu outside the main loop so that they can be accessed for the back
 17999  	//     off.
 18000  
 18001  	zeroreqcu = reqcu
 18002  	zeroreqcuflags = reqcuflags
 18003  	zerofirstcu = firstcu
 18004  	zerofirstcuflags = firstcuflags
 18005  	groupsetfirstcu = DFALSE
 18006  
 18007  	if !(bravalue >= OP_ONCE) {
 18008  		goto __229
 18009  	} /* Not an assertion */
 18010  
 18011  	// If we have not yet set a firstcu in this branch, take it from the
 18012  	//       subpattern, remembering that it was set here so that a repeat of more
 18013  	//       than one can replicate it as reqcu if necessary. If the subpattern has
 18014  	//       no firstcu, set "none" for the whole branch. In both cases, a zero
 18015  	//       repeat forces firstcu to "none".
 18016  
 18017  	if !(firstcuflags == DREQ_UNSET && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) != DREQ_UNSET) {
 18018  		goto __231
 18019  	}
 18020  
 18021  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) {
 18022  		goto __233
 18023  	}
 18024  
 18025  	firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */))
 18026  	firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */))
 18027  	groupsetfirstcu = DTRUE
 18028  	goto __234
 18029  __233:
 18030  	firstcuflags = DREQ_NONE
 18031  __234:
 18032  	;
 18033  	zerofirstcuflags = DREQ_NONE
 18034  	goto __232
 18035  __231:
 18036  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) >= DREQ_NONE) {
 18037  		goto __235
 18038  	}
 18039  
 18040  	*(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */))
 18041  	*(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 108)) | tempreqvary
 18042  __235:
 18043  	;
 18044  __232:
 18045  	;
 18046  
 18047  	// If the subpattern set a required code unit (or set a first code unit
 18048  	//       that isn't really the first code unit - see above), set it.
 18049  
 18050  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE) {
 18051  		goto __236
 18052  	}
 18053  
 18054  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */))
 18055  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */))
 18056  __236:
 18057  	;
 18058  	goto __230
 18059  __229:
 18060  	if !((bravalue == OP_ASSERT || bravalue == OP_ASSERT_NA) && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) {
 18061  		goto __237
 18062  	}
 18063  
 18064  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */))
 18065  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */))
 18066  __237:
 18067  	;
 18068  __230:
 18069  	;
 18070  
 18071  	goto __12 // End of nested group handling
 18072  
 18073  	// ===================================================================
 18074  	// Handle named backreferences and recursions.
 18075  
 18076  __51:
 18077  __52:
 18078  
 18079  	is_dupname = DFALSE
 18080  	ng1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 18081  	length1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18082  
 18083  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 18084  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18085  
 18086  	name1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18087  
 18088  	// In the first pass, the names generated in the pre-pass are available,
 18089  	//       but the main name table has not yet been created. Scan the list of names
 18090  	//       generated in the pre-pass in order to get a number and whether or not
 18091  	//       this name is duplicated.
 18092  
 18093  	groupnumber = Tuint32_t(0)
 18094  	{
 18095  		i13 = uint32(0)
 18096  	__238:
 18097  		if !(i13 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 18098  			goto __240
 18099  		}
 18100  
 18101  		if !(length1 == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng1)).Flength) && X_pcre2_strncmp_8(tls, name1, (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fname, uint64(length1)) == 0) {
 18102  			goto __241
 18103  		}
 18104  
 18105  		is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng1)).Fisdup)
 18106  		groupnumber = (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fnumber
 18107  
 18108  		// For a recursion, that's all that is needed. We can now go to
 18109  		//           the code that handles numerical recursion, applying it to the first
 18110  		//           group with the given name.
 18111  
 18112  		if !(meta == DMETA_RECURSE_BYNAME) {
 18113  			goto __242
 18114  		}
 18115  
 18116  		meta_arg = groupnumber
 18117  		goto HANDLE_NUMERICAL_RECURSION
 18118  	__242:
 18119  		;
 18120  
 18121  		// For a back reference, update the back reference map and the
 18122  		//           maximum back reference.
 18123  
 18124  		*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 18125  			if groupnumber < Tuint32_t(32) {
 18126  				return uint32(1) << groupnumber
 18127  			}
 18128  			return uint32(1)
 18129  		}()
 18130  		if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 18131  			goto __243
 18132  		}
 18133  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 18134  	__243:
 18135  		;
 18136  	__241:
 18137  		;
 18138  		goto __239
 18139  	__239:
 18140  		i13++
 18141  		ng1 += 16
 18142  		goto __238
 18143  		goto __240
 18144  	__240:
 18145  	}
 18146  
 18147  	// If the name was not found we have a bad reference.
 18148  
 18149  	if !(groupnumber == Tuint32_t(0)) {
 18150  		goto __244
 18151  	}
 18152  
 18153  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 18154  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 18155  	return 0
 18156  __244:
 18157  	;
 18158  
 18159  	// If a back reference name is not duplicated, we can handle it as
 18160  	//       a numerical reference.
 18161  
 18162  	if !!(is_dupname != 0) {
 18163  		goto __245
 18164  	}
 18165  
 18166  	meta_arg = groupnumber
 18167  	goto HANDLE_SINGLE_REFERENCE
 18168  __245:
 18169  	;
 18170  
 18171  	// If a back reference name is duplicated, we generate a different
 18172  	//       opcode to a numerical back reference. In the second pass we must
 18173  	//       search for the index and count in the final name table.
 18174  
 18175  	*(*int32)(unsafe.Pointer(bp + 132 /* count1 */)) = 0 // Values for first pass (avoids compiler warning)
 18176  	*(*int32)(unsafe.Pointer(bp + 128 /* index1 */)) = 0
 18177  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name1, length1, bp+128,
 18178  		bp+132, errorcodeptr, cb) != 0)) {
 18179  		goto __246
 18180  	}
 18181  	return 0
 18182  __246:
 18183  	;
 18184  
 18185  	if !(firstcuflags == DREQ_UNSET) {
 18186  		goto __247
 18187  	}
 18188  	firstcuflags = DREQ_NONE
 18189  __247:
 18190  	;
 18191  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 18192  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 18193  			return OP_DNREFI
 18194  		}
 18195  		return OP_DNREF
 18196  	}()
 18197  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) >> 8)
 18198  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) & 255)
 18199  	code += uintptr(DIMM2_SIZE)
 18200  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) >> 8)
 18201  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) & 255)
 18202  	code += uintptr(DIMM2_SIZE)
 18203  
 18204  	goto __12
 18205  
 18206  	// ===================================================================
 18207  	// Handle a numerical callout.
 18208  
 18209  __53:
 18210  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT
 18211  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8)
 18212  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18213  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8)
 18214  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18215  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4)))
 18216  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18217  	code += uintptr(X_pcre2_OP_lengths_8[OP_CALLOUT])
 18218  	goto __12
 18219  
 18220  	// ===================================================================
 18221  	// Handle a callout with a string argument. In the pre-pass we just compute
 18222  	//     the length without generating anything. The length in pptr[3] includes both
 18223  	//     delimiters; in the actual compile only the first one is copied, but a
 18224  	//     terminating zero is added. Any doubled delimiters within the string make
 18225  	//     this an overestimate, but it is not worth bothering about.
 18226  
 18227  __54:
 18228  	if !(lengthptr != uintptr(0)) {
 18229  		goto __248
 18230  	}
 18231  
 18232  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) + Tuint32_t(1+4*DLINK_SIZE))
 18233  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18234  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18235  	goto __249
 18236  __248:
 18237  
 18238  	length2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4))
 18239  	callout_string = code + uintptr(1+4*DLINK_SIZE)
 18240  
 18241  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT_STR
 18242  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8)
 18243  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18244  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8)
 18245  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18246  
 18247  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18248  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 18249  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18250  	// Offset to string in pattern
 18251  	pp = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18252  	delimiter = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&callout_string, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))))
 18253  	if !(delimiter == Tuint32_t('\173')) {
 18254  		goto __250
 18255  	}
 18256  	delimiter = Tuint32_t('\175')
 18257  __250:
 18258  	;
 18259  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) >> 8)
 18260  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 8)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) & 255) // One after delimiter
 18261  
 18262  	// The syntax of the pattern was checked in the parsing scan. The length
 18263  	//       includes both delimiters, but we have passed the opening one just above,
 18264  	//       so we reduce length before testing it. The test is for > 1 because we do
 18265  	//       not want to copy the final delimiter. This also ensures that pp[1] is
 18266  	//       accessible.
 18267  
 18268  __251:
 18269  	if !(libc.PreDecUint32(&length2, 1) > Tuint32_t(1)) {
 18270  		goto __252
 18271  	}
 18272  
 18273  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp))) == delimiter && Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp + 1))) == delimiter) {
 18274  		goto __253
 18275  	}
 18276  
 18277  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(delimiter)
 18278  	pp += uintptr(2)
 18279  	length2--
 18280  	goto __254
 18281  __253:
 18282  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))
 18283  __254:
 18284  	;
 18285  	goto __251
 18286  __252:
 18287  	;
 18288  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(0)
 18289  
 18290  	// Set the length of the entire item, the advance to its end.
 18291  
 18292  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) >> 8)
 18293  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) & 255)
 18294  	code = callout_string
 18295  __249:
 18296  	;
 18297  	goto __12
 18298  
 18299  	// ===================================================================
 18300  	// Handle repetition. The different types are all sorted out in the parsing
 18301  	//     pass.
 18302  
 18303  __55:
 18304  __56:
 18305  __57:
 18306  	repeat_min = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18307  	repeat_max = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18308  	goto REPEAT
 18309  
 18310  __58:
 18311  __59:
 18312  __60:
 18313  	repeat_min = Tuint32_t(0)
 18314  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18315  	goto REPEAT
 18316  
 18317  __61:
 18318  __62:
 18319  __63:
 18320  	repeat_min = Tuint32_t(1)
 18321  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18322  	goto REPEAT
 18323  
 18324  __64:
 18325  __65:
 18326  __66:
 18327  	repeat_min = Tuint32_t(0)
 18328  	repeat_max = Tuint32_t(1)
 18329  
 18330  REPEAT:
 18331  	if !(previous_matched_char != 0 && repeat_min > Tuint32_t(0)) {
 18332  		goto __255
 18333  	}
 18334  	matched_char = DTRUE
 18335  __255:
 18336  	;
 18337  
 18338  	// Remember whether this is a variable length repeat, and default to
 18339  	//     single-char opcodes.
 18340  
 18341  	if repeat_min == repeat_max {
 18342  		reqvary = uint32(0)
 18343  	} else {
 18344  		reqvary = DREQ_VARY
 18345  	}
 18346  	op_type = Tuint32_t(0)
 18347  
 18348  	// Adjust first and required code units for a zero repeat.
 18349  
 18350  	if !(repeat_min == Tuint32_t(0)) {
 18351  		goto __256
 18352  	}
 18353  
 18354  	firstcu = zerofirstcu
 18355  	firstcuflags = zerofirstcuflags
 18356  	reqcu = zeroreqcu
 18357  	reqcuflags = zeroreqcuflags
 18358  __256:
 18359  	;
 18360  
 18361  	// Note the greediness and possessiveness.
 18362  
 18363  	switch meta {
 18364  	case DMETA_MINMAX_PLUS:
 18365  		goto __258
 18366  	case DMETA_ASTERISK_PLUS:
 18367  		goto __259
 18368  	case DMETA_PLUS_PLUS:
 18369  		goto __260
 18370  	case DMETA_QUERY_PLUS:
 18371  		goto __261
 18372  
 18373  	case DMETA_MINMAX_QUERY:
 18374  		goto __262
 18375  	case DMETA_ASTERISK_QUERY:
 18376  		goto __263
 18377  	case DMETA_PLUS_QUERY:
 18378  		goto __264
 18379  	case DMETA_QUERY_QUERY:
 18380  		goto __265
 18381  
 18382  	default:
 18383  		goto __266
 18384  	}
 18385  	goto __257
 18386  
 18387  __258:
 18388  __259:
 18389  __260:
 18390  __261:
 18391  	repeat_type = Tuint32_t(0) // Force greedy
 18392  	possessive_quantifier = DTRUE
 18393  	goto __257
 18394  
 18395  __262:
 18396  __263:
 18397  __264:
 18398  __265:
 18399  	repeat_type = greedy_non_default
 18400  	possessive_quantifier = DFALSE
 18401  	goto __257
 18402  
 18403  __266:
 18404  	repeat_type = greedy_default
 18405  	possessive_quantifier = DFALSE
 18406  	goto __257
 18407  __257:
 18408  	;
 18409  
 18410  	// Save start of previous item, in case we have to move it up in order to
 18411  	//     insert something before it, and remember what it was.
 18412  
 18413  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = previous
 18414  	op_previous = *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous))
 18415  
 18416  	// Now handle repetition for the different types of item. If the repeat
 18417  	//     minimum and the repeat maximum are both 1, we can ignore the quantifier for
 18418  	//     non-parenthesized items, as they have only one alternative. For anything in
 18419  	//     parentheses, we must not ignore if {1} is possessive.
 18420  
 18421  	switch int32(op_previous) {
 18422  	// If previous was a character or negated character match, abolish the
 18423  	//       item and generate a repeat item instead. If a char item has a minimum of
 18424  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18425  	//       sequence such as x{3} is the first thing in a branch because the x will
 18426  	//       have gone into firstcu instead.
 18427  
 18428  	case OP_CHAR:
 18429  		goto __268
 18430  	case OP_CHARI:
 18431  		goto __269
 18432  	case OP_NOT:
 18433  		goto __270
 18434  	case OP_NOTI:
 18435  		goto __271 // Code shared with single character types
 18436  
 18437  	// If previous was a character class or a back reference, we put the
 18438  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18439  
 18440  	case OP_XCLASS:
 18441  		goto __272
 18442  	case OP_CLASS:
 18443  		goto __273
 18444  	case OP_NCLASS:
 18445  		goto __274
 18446  	case OP_REF:
 18447  		goto __275
 18448  	case OP_REFI:
 18449  		goto __276
 18450  	case OP_DNREF:
 18451  		goto __277
 18452  	case OP_DNREFI:
 18453  		goto __278
 18454  
 18455  	// If previous is OP_FAIL, it was generated by an empty class []
 18456  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18457  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18458  	//       time. We can just ignore this repeat.
 18459  
 18460  	case OP_FAIL:
 18461  		goto __279
 18462  
 18463  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18464  	//       because pcre2_match() could not handle backtracking into recursively
 18465  	//       called groups. Now that this backtracking is available, we no longer need
 18466  	//       to do this. However, we still need to replicate recursions as we do for
 18467  	//       groups so as to have independent backtracking points. We can replicate
 18468  	//       for the minimum number of repeats directly. For optional repeats we now
 18469  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18470  	//       repetition.
 18471  
 18472  	case OP_RECURSE:
 18473  		goto __280 // Set "may match empty string"
 18474  
 18475  	// Now treat as a repeated OP_BRA.
 18476  	// Fall through
 18477  
 18478  	// If previous was a bracket group, we may have to replicate it in
 18479  	//       certain cases. Note that at this point we can encounter only the "basic"
 18480  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18481  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18482  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18483  	//       for Perl compatibility.
 18484  
 18485  	case OP_ASSERT:
 18486  		goto __281
 18487  	case OP_ASSERT_NOT:
 18488  		goto __282
 18489  	case OP_ASSERT_NA:
 18490  		goto __283
 18491  	case OP_ASSERTBACK:
 18492  		goto __284
 18493  	case OP_ASSERTBACK_NOT:
 18494  		goto __285
 18495  	case OP_ASSERTBACK_NA:
 18496  		goto __286
 18497  	case OP_ONCE:
 18498  		goto __287
 18499  	case OP_SCRIPT_RUN:
 18500  		goto __288
 18501  	case OP_BRA:
 18502  		goto __289
 18503  	case OP_CBRA:
 18504  		goto __290
 18505  	case OP_COND:
 18506  		goto __291
 18507  
 18508  	// If previous was a character type match (\d or similar), abolish it and
 18509  	//       create a suitable repeat item. The code is shared with single-character
 18510  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 18511  	//       Note the the Unicode property types will be present only when
 18512  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 18513  	//       here because it just makes it horribly messy.
 18514  
 18515  	default:
 18516  		goto __292
 18517  	}
 18518  	goto __267
 18519  
 18520  	// If previous was a character or negated character match, abolish the
 18521  	//       item and generate a repeat item instead. If a char item has a minimum of
 18522  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18523  	//       sequence such as x{3} is the first thing in a branch because the x will
 18524  	//       have gone into firstcu instead.
 18525  
 18526  __268:
 18527  __269:
 18528  __270:
 18529  __271:
 18530  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18531  		goto __293
 18532  	}
 18533  	goto END_REPEAT
 18534  __293:
 18535  	;
 18536  	op_type = chartypeoffset[int32(op_previous)-OP_CHAR]
 18537  
 18538  	// Deal with UTF characters that take up more than one code unit.
 18539  
 18540  	if !(utf != 0 && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0xc0 == 0x80) {
 18541  		goto __294
 18542  	}
 18543  
 18544  	lastchar = code - uintptr(1)
 18545  __296:
 18546  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastchar)))&0xc0 == 0x80) {
 18547  		goto __297
 18548  	}
 18549  	lastchar--
 18550  	goto __296
 18551  __297:
 18552  	;
 18553  	mclength = Tuint32_t((int64(code) - int64(lastchar)) / 1)                                // Length of UTF character
 18554  	libc.Xmemcpy(tls, bp+72, lastchar, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8))) // Save the char
 18555  	goto __295
 18556  __294:
 18557  
 18558  	/* Handle the case of a single code unit - either with no UTF support, or
 18559  	   with UTF disabled, or for a single-code-unit UTF character. In the latter
 18560  	   case, for a repeated positive match, get the caseless flag for the
 18561  	   required code unit from the previous character, because a class like [Aa]
 18562  	   sets a caseless A but by now the req_caseopt flag has been reset. */
 18563  
 18564  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))
 18565  	mclength = Tuint32_t(1)
 18566  	if !(int32(op_previous) <= OP_CHARI && repeat_min > Tuint32_t(1)) {
 18567  		goto __298
 18568  	}
 18569  
 18570  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)))
 18571  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 18572  	if !(int32(op_previous) == OP_CHARI) {
 18573  		goto __299
 18574  	}
 18575  	reqcuflags = reqcuflags | DREQ_CASELESS
 18576  __299:
 18577  	;
 18578  __298:
 18579  	;
 18580  __295:
 18581  	;
 18582  	goto OUTPUT_SINGLE_REPEAT // Code shared with single character types
 18583  
 18584  	// If previous was a character class or a back reference, we put the
 18585  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18586  
 18587  __272:
 18588  __273:
 18589  __274:
 18590  __275:
 18591  __276:
 18592  __277:
 18593  __278:
 18594  
 18595  	if !(repeat_max == Tuint32_t(0)) {
 18596  		goto __300
 18597  	}
 18598  
 18599  	code = previous
 18600  	goto END_REPEAT
 18601  __300:
 18602  	;
 18603  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18604  		goto __301
 18605  	}
 18606  	goto END_REPEAT
 18607  __301:
 18608  	;
 18609  
 18610  	if !(repeat_min == Tuint32_t(0) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18611  		goto __302
 18612  	}
 18613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRSTAR + repeat_type)
 18614  	goto __303
 18615  __302:
 18616  	if !(repeat_min == Tuint32_t(1) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18617  		goto __304
 18618  	}
 18619  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRPLUS + repeat_type)
 18620  	goto __305
 18621  __304:
 18622  	if !(repeat_min == Tuint32_t(0) && repeat_max == Tuint32_t(1)) {
 18623  		goto __306
 18624  	}
 18625  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRQUERY + repeat_type)
 18626  	goto __307
 18627  __306:
 18628  
 18629  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRRANGE + repeat_type)
 18630  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 18631  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 18632  	code += uintptr(DIMM2_SIZE)
 18633  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18634  		goto __308
 18635  	}
 18636  	repeat_max = Tuint32_t(0)
 18637  __308:
 18638  	; // 2-byte encoding for max
 18639  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 18640  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 18641  	code += uintptr(DIMM2_SIZE)
 18642  __307:
 18643  	;
 18644  __305:
 18645  	;
 18646  __303:
 18647  	;
 18648  	goto __267
 18649  
 18650  	// If previous is OP_FAIL, it was generated by an empty class []
 18651  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18652  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18653  	//       time. We can just ignore this repeat.
 18654  
 18655  __279:
 18656  	goto END_REPEAT
 18657  
 18658  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18659  	//       because pcre2_match() could not handle backtracking into recursively
 18660  	//       called groups. Now that this backtracking is available, we no longer need
 18661  	//       to do this. However, we still need to replicate recursions as we do for
 18662  	//       groups so as to have independent backtracking points. We can replicate
 18663  	//       for the minimum number of repeats directly. For optional repeats we now
 18664  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18665  	//       repetition.
 18666  
 18667  __280:
 18668  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18669  		goto __309
 18670  	}
 18671  	goto END_REPEAT
 18672  __309:
 18673  	;
 18674  
 18675  	// Generate unwrapped repeats for a non-zero minimum, except when the
 18676  	//       minimum is 1 and the maximum unlimited, because that can be handled with
 18677  	//       OP_BRA terminated by OP_KETRMAX/MIN. When the maximum is equal to the
 18678  	//       minimum, we just need to generate the appropriate additional copies.
 18679  	//       Otherwise we need to generate one more, to simulate the situation when
 18680  	//       the minimum is zero.
 18681  
 18682  	if !(repeat_min > Tuint32_t(0) && (repeat_min != Tuint32_t(1) || repeat_max != DMAX_REPEAT_COUNT+uint32(1))) {
 18683  		goto __310
 18684  	}
 18685  
 18686  	replicate = int32(repeat_min)
 18687  	if !(repeat_min == repeat_max) {
 18688  		goto __311
 18689  	}
 18690  	replicate--
 18691  __311:
 18692  	;
 18693  
 18694  	// In the pre-compile phase, we don't actually do the replication. We
 18695  	//         just adjust the length as if we had. Do some paranoid checks for
 18696  	//         potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18697  	//         integer type when available, otherwise double.
 18698  
 18699  	if !(lengthptr != uintptr(0)) {
 18700  		goto __312
 18701  	}
 18702  
 18703  	delta = Tsize_t(replicate * (1 + DLINK_SIZE))
 18704  	if !(Tint64_t(replicate)*int64(1+DLINK_SIZE) > int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta) {
 18705  		goto __314
 18706  	}
 18707  
 18708  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18709  	return 0
 18710  __314:
 18711  	;
 18712  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta
 18713  	goto __313
 18714  __312:
 18715  	{
 18716  		i14 = 0
 18717  	__315:
 18718  		if !(i14 < replicate) {
 18719  			goto __317
 18720  		}
 18721  
 18722  		libc.Xmemcpy(tls, code, previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18723  		previous = code
 18724  		code += uintptr(1 + DLINK_SIZE)
 18725  		goto __316
 18726  	__316:
 18727  		i14++
 18728  		goto __315
 18729  		goto __317
 18730  	__317:
 18731  	}
 18732  __313:
 18733  	;
 18734  
 18735  	// If the number of repeats is fixed, we are done. Otherwise, adjust
 18736  	//         the counts and fall through.
 18737  
 18738  	if !(repeat_min == repeat_max) {
 18739  		goto __318
 18740  	}
 18741  	goto __267
 18742  __318:
 18743  	;
 18744  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18745  		goto __319
 18746  	}
 18747  	repeat_max = repeat_max - repeat_min
 18748  __319:
 18749  	;
 18750  	repeat_min = Tuint32_t(0)
 18751  __310:
 18752  	;
 18753  
 18754  	// Wrap the recursion call in OP_BRA brackets.
 18755  
 18756  	libc.Xmemmove(tls, previous+uintptr(1)+uintptr(DLINK_SIZE), previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18757  	op_previous = libc.AssignPtrUint8(previous, OP_BRA)
 18758  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18759  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18760  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 6)) = OP_KET
 18761  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 7)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18762  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 8)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18763  	code += uintptr(2 + 2*DLINK_SIZE)
 18764  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(3 + 3*DLINK_SIZE)
 18765  	group_return = -1 // Set "may match empty string"
 18766  
 18767  	// Now treat as a repeated OP_BRA.
 18768  	// Fall through
 18769  
 18770  	// If previous was a bracket group, we may have to replicate it in
 18771  	//       certain cases. Note that at this point we can encounter only the "basic"
 18772  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18773  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18774  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18775  	//       for Perl compatibility.
 18776  
 18777  __281:
 18778  __282:
 18779  __283:
 18780  __284:
 18781  __285:
 18782  __286:
 18783  __287:
 18784  __288:
 18785  __289:
 18786  __290:
 18787  __291:
 18788  
 18789  	len = int32((int64(code) - int64(previous)) / 1)
 18790  	bralink = uintptr(0)
 18791  	brazeroptr = uintptr(0)
 18792  
 18793  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18794  		goto __320
 18795  	}
 18796  	goto END_REPEAT
 18797  __320:
 18798  	;
 18799  
 18800  	// Repeating a DEFINE group (or any group where the condition is always
 18801  	//         FALSE and there is only one branch) is pointless, but Perl allows the
 18802  	//         syntax, so we just ignore the repeat.
 18803  
 18804  	if !(int32(op_previous) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 3))) == OP_FALSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))))))) != OP_ALT) {
 18805  		goto __321
 18806  	}
 18807  	goto END_REPEAT
 18808  __321:
 18809  	;
 18810  
 18811  	// Perl allows all assertions to be quantified, and when they contain
 18812  	//         capturing parentheses and/or are optional there are potential uses for
 18813  	//         this feature. PCRE2 used to force the maximum quantifier to 1 on the
 18814  	//         invalid grounds that further repetition was never useful. This was
 18815  	//         always a bit pointless, since an assertion could be wrapped with a
 18816  	//         repeated group to achieve the effect. General repetition is now
 18817  	//         permitted, but if the maximum is unlimited it is set to one more than
 18818  	//         the minimum.
 18819  
 18820  	if !(int32(op_previous) < OP_ONCE) {
 18821  		goto __322
 18822  	} /* Assertion */
 18823  
 18824  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18825  		goto __323
 18826  	}
 18827  	repeat_max = repeat_min + Tuint32_t(1)
 18828  __323:
 18829  	;
 18830  __322:
 18831  	;
 18832  
 18833  	// The case of a zero minimum is special because of the need to stick
 18834  	//         OP_BRAZERO in front of it, and because the group appears once in the
 18835  	//         data, whereas in other cases it appears the minimum number of times. For
 18836  	//         this reason, it is simplest to treat this case separately, as otherwise
 18837  	//         the code gets far too messy. There are several special subcases when the
 18838  	//         minimum is zero.
 18839  
 18840  	if !(repeat_min == Tuint32_t(0)) {
 18841  		goto __324
 18842  	}
 18843  
 18844  	// If the maximum is also zero, we used to just omit the group from
 18845  	//           the output altogether, like this:
 18846  	//
 18847  	//           ** if (repeat_max == 0)
 18848  	//           **   {
 18849  	//           **   code = previous;
 18850  	//           **   goto END_REPEAT;
 18851  	//           **   }
 18852  	//
 18853  	//           However, that fails when a group or a subgroup within it is
 18854  	//           referenced as a subroutine from elsewhere in the pattern, so now we
 18855  	//           stick in OP_SKIPZERO in front of it so that it is skipped on
 18856  	//           execution. As we don't have a list of which groups are referenced, we
 18857  	//           cannot do this selectively.
 18858  	//
 18859  	//           If the maximum is 1 or unlimited, we just have to stick in the
 18860  	//           BRAZERO and do no more at this point.
 18861  
 18862  	if !(repeat_max <= Tuint32_t(1) || repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18863  		goto __326
 18864  	}
 18865  
 18866  	libc.Xmemmove(tls, previous+uintptr(1), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18867  	code++
 18868  	if !(repeat_max == Tuint32_t(0)) {
 18869  		goto __328
 18870  	}
 18871  
 18872  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_SKIPZERO
 18873  	goto END_REPEAT
 18874  __328:
 18875  	;
 18876  	brazeroptr = previous // Save for possessive optimizing
 18877  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18878  	goto __327
 18879  __326:
 18880  
 18881  	libc.Xmemmove(tls, previous+uintptr(2)+uintptr(DLINK_SIZE), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18882  	code += uintptr(2 + DLINK_SIZE)
 18883  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18884  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_BRA
 18885  
 18886  	// We chain together the bracket link offset fields that have to be
 18887  	//             filled in later when the ends of the brackets are reached.
 18888  
 18889  	if bralink == uintptr(0) {
 18890  		linkoffset = 0
 18891  	} else {
 18892  		linkoffset = int32((int64(previous) - int64(bralink)) / 1)
 18893  	}
 18894  	bralink = previous
 18895  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous)) = TPCRE2_UCHAR8(linkoffset >> 8)
 18896  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(linkoffset & 255)
 18897  	previous += uintptr(DLINK_SIZE)
 18898  __327:
 18899  	;
 18900  
 18901  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18902  		goto __329
 18903  	}
 18904  	repeat_max--
 18905  __329:
 18906  	;
 18907  	goto __325
 18908  __324:
 18909  
 18910  	if !(repeat_min > Tuint32_t(1)) {
 18911  		goto __330
 18912  	}
 18913  
 18914  	// In the pre-compile phase, we don't actually do the replication.
 18915  	//             We just adjust the length as if we had. Do some paranoid checks for
 18916  	//             potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18917  	//             integer type when available, otherwise double.
 18918  
 18919  	if !(lengthptr != uintptr(0)) {
 18920  		goto __331
 18921  	}
 18922  
 18923  	delta1 = Tsize_t(repeat_min-Tuint32_t(1)) * *(*Tsize_t)(unsafe.Pointer(bp + 120))
 18924  	if !(Tint64_t(repeat_min-Tuint32_t(1))*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))) > int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta1) {
 18925  		goto __333
 18926  	}
 18927  
 18928  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18929  	return 0
 18930  __333:
 18931  	;
 18932  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta1
 18933  	goto __332
 18934  __331:
 18935  
 18936  	if !(groupsetfirstcu != 0 && reqcuflags >= DREQ_NONE) {
 18937  		goto __334
 18938  	}
 18939  
 18940  	reqcu = firstcu
 18941  	reqcuflags = firstcuflags
 18942  __334:
 18943  	;
 18944  	{
 18945  		i15 = Tuint32_t(1)
 18946  	__335:
 18947  		if !(i15 < repeat_min) {
 18948  			goto __337
 18949  		}
 18950  
 18951  		libc.Xmemcpy(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18952  		code += uintptr(len)
 18953  		goto __336
 18954  	__336:
 18955  		i15++
 18956  		goto __335
 18957  		goto __337
 18958  	__337:
 18959  	}
 18960  __332:
 18961  	;
 18962  __330:
 18963  	;
 18964  
 18965  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18966  		goto __338
 18967  	}
 18968  	repeat_max = repeat_max - repeat_min
 18969  __338:
 18970  	;
 18971  __325:
 18972  	;
 18973  
 18974  	// This code is common to both the zero and non-zero minimum cases. If
 18975  	//         the maximum is limited, it replicates the group in a nested fashion,
 18976  	//         remembering the bracket starts on a stack. In the case of a zero
 18977  	//         minimum, the first one was set up above. In all cases the repeat_max
 18978  	//         now specifies the number of additional copies needed. Again, we must
 18979  	//         remember to replicate entries on the forward reference list.
 18980  
 18981  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18982  		goto __339
 18983  	}
 18984  
 18985  	// In the pre-compile phase, we don't actually do the replication. We
 18986  	//           just adjust the length as if we had. For each repetition we must add
 18987  	//           1 to the length for BRAZERO and for all but the last repetition we
 18988  	//           must add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some
 18989  	//           paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type
 18990  	//           is a 64-bit integer type when available, otherwise double.
 18991  
 18992  	if !(lengthptr != uintptr(0) && repeat_max > Tuint32_t(0)) {
 18993  		goto __341
 18994  	}
 18995  
 18996  	delta2 = Tsize_t(repeat_max)*(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) - uint64(2) - uint64(2*DLINK_SIZE) // Last one doesn't nest
 18997  	if !(Tint64_t(repeat_max)*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) >
 18998  		int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta2) {
 18999  		goto __343
 19000  	}
 19001  
 19002  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 19003  	return 0
 19004  __343:
 19005  	;
 19006  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta2
 19007  	goto __342
 19008  __341:
 19009  	{
 19010  		i16 = repeat_max
 19011  	__344:
 19012  		if !(i16 >= Tuint32_t(1)) {
 19013  			goto __346
 19014  		}
 19015  
 19016  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 19017  
 19018  		// All but the final copy start a new nesting, maintaining the
 19019  		//             chain of brackets outstanding.
 19020  
 19021  		if !(i16 != Tuint32_t(1)) {
 19022  			goto __347
 19023  		}
 19024  
 19025  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_BRA
 19026  		if bralink == uintptr(0) {
 19027  			linkoffset1 = 0
 19028  		} else {
 19029  			linkoffset1 = int32((int64(code) - int64(bralink)) / 1)
 19030  		}
 19031  		bralink = code
 19032  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset1 >> 8)
 19033  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset1 & 255)
 19034  		code += uintptr(DLINK_SIZE)
 19035  	__347:
 19036  		;
 19037  
 19038  		libc.Xmemcpy(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19039  		code += uintptr(len)
 19040  		goto __345
 19041  	__345:
 19042  		i16--
 19043  		goto __344
 19044  		goto __346
 19045  	__346:
 19046  	}
 19047  __342:
 19048  	;
 19049  
 19050  	// Now chain through the pending brackets, and fill in their length
 19051  	//           fields (which are holding the chain links pro tem).
 19052  
 19053  __348:
 19054  	if !(bralink != uintptr(0)) {
 19055  		goto __349
 19056  	}
 19057  
 19058  	linkoffset2 = int32((int64(code)-int64(bralink))/1 + int64(1))
 19059  	bra = code - uintptr(linkoffset2)
 19060  	oldlinkoffset = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)))))
 19061  	if oldlinkoffset == 0 {
 19062  		bralink = uintptr(0)
 19063  	} else {
 19064  		bralink = bralink - uintptr(oldlinkoffset)
 19065  	}
 19066  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19067  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19068  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19069  	code += uintptr(DLINK_SIZE)
 19070  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19071  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19072  	goto __348
 19073  __349:
 19074  	;
 19075  	goto __340
 19076  __339:
 19077  
 19078  	ketcode = code - uintptr(1) - uintptr(DLINK_SIZE)
 19079  	bracode = ketcode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 2)))))
 19080  
 19081  	// Convert possessive ONCE brackets to non-capturing
 19082  
 19083  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE && possessive_quantifier != 0) {
 19084  		goto __350
 19085  	}
 19086  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_BRA
 19087  __350:
 19088  	;
 19089  
 19090  	// For non-possessive ONCE and for SCRIPT_RUN brackets, all we need
 19091  	//           to do is to set the KET.
 19092  
 19093  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCRIPT_RUN) {
 19094  		goto __351
 19095  	}
 19096  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19097  	goto __352
 19098  __351:
 19099  
 19100  	// In the compile phase, adjust the opcode if the group can match
 19101  	//             an empty string. For a conditional group with only one branch, the
 19102  	//             value of group_return will not show "could be empty", so we must
 19103  	//             check that separately.
 19104  
 19105  	if !(lengthptr == uintptr(0)) {
 19106  		goto __353
 19107  	}
 19108  
 19109  	if !(group_return < 0) {
 19110  		goto __354
 19111  	}
 19112  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(OP_SBRA - OP_BRA)
 19113  __354:
 19114  	;
 19115  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)))))))) != OP_ALT) {
 19116  		goto __355
 19117  	}
 19118  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_SCOND
 19119  __355:
 19120  	;
 19121  __353:
 19122  	;
 19123  
 19124  	// Handle possessive quantifiers.
 19125  
 19126  	if !(possessive_quantifier != 0) {
 19127  		goto __356
 19128  	}
 19129  
 19130  	// For COND brackets, we wrap the whole thing in a possessively
 19131  	//               repeated non-capturing bracket, because we have not invented POS
 19132  	//               versions of the COND opcodes.
 19133  
 19134  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCOND) {
 19135  		goto __358
 19136  	}
 19137  
 19138  	nlen = int32((int64(code) - int64(bracode)) / 1)
 19139  	libc.Xmemmove(tls, bracode+uintptr(1)+uintptr(DLINK_SIZE), bracode, uint64(nlen*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19140  	code += uintptr(1 + DLINK_SIZE)
 19141  	nlen = nlen + (1 + DLINK_SIZE)
 19142  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = func() uint8 {
 19143  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND {
 19144  			return OP_BRAPOS
 19145  		}
 19146  		return OP_SBRAPOS
 19147  	}()
 19148  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KETRPOS
 19149  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(nlen >> 8)
 19150  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(nlen & 255)
 19151  	code += uintptr(DLINK_SIZE)
 19152  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)) = TPCRE2_UCHAR8(nlen >> 8)
 19153  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)) = TPCRE2_UCHAR8(nlen & 255)
 19154  	goto __359
 19155  __358:
 19156  
 19157  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(1) // Switch to xxxPOS opcodes
 19158  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = OP_KETRPOS
 19159  __359:
 19160  	;
 19161  
 19162  	// If the minimum is zero, mark it as possessive, then unset the
 19163  	//               possessive flag when the minimum is 0 or 1.
 19164  
 19165  	if !(brazeroptr != uintptr(0)) {
 19166  		goto __360
 19167  	}
 19168  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(brazeroptr)) = OP_BRAPOSZERO
 19169  __360:
 19170  	;
 19171  	if !(repeat_min < Tuint32_t(2)) {
 19172  		goto __361
 19173  	}
 19174  	possessive_quantifier = DFALSE
 19175  __361:
 19176  	;
 19177  	goto __357
 19178  __356:
 19179  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19180  __357:
 19181  	;
 19182  __352:
 19183  	;
 19184  __340:
 19185  	;
 19186  
 19187  	goto __267
 19188  
 19189  	// If previous was a character type match (\d or similar), abolish it and
 19190  	//       create a suitable repeat item. The code is shared with single-character
 19191  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 19192  	//       Note the the Unicode property types will be present only when
 19193  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 19194  	//       here because it just makes it horribly messy.
 19195  
 19196  __292:
 19197  	if !(int32(op_previous) >= OP_EODN) {
 19198  		goto __362
 19199  	} /* Not a character type - internal error */
 19200  
 19201  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR10
 19202  	return 0
 19203  	goto __363
 19204  __362:
 19205  
 19206  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 19207  		goto __364
 19208  	}
 19209  	goto END_REPEAT
 19210  __364:
 19211  	;
 19212  
 19213  	op_type = Tuint32_t(OP_TYPESTAR - OP_STAR) // Use type opcodes
 19214  	mclength = Tuint32_t(0)                    // Not a character
 19215  
 19216  	if !(int32(op_previous) == OP_PROP || int32(op_previous) == OP_NOTPROP) {
 19217  		goto __365
 19218  	}
 19219  
 19220  	prop_type = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))
 19221  	prop_value = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))
 19222  	goto __366
 19223  __365:
 19224  
 19225  	// Come here from just above with a character in mcbuffer/mclength.
 19226  OUTPUT_SINGLE_REPEAT:
 19227  	prop_type = libc.AssignInt32(&prop_value, -1)
 19228  __366:
 19229  	;
 19230  
 19231  	// At this point, if prop_type == prop_value == -1 we either have a
 19232  	//         character in mcbuffer when mclength is greater than zero, or we have
 19233  	//         mclength zero, in which case there is a non-property character type in
 19234  	//         op_previous. If prop_type/value are not negative, we have a property
 19235  	//         character type in op_previous.
 19236  
 19237  	oldcode = code  // Save where we were
 19238  	code = previous // Usually overwrite previous item
 19239  
 19240  	// If the maximum is zero then the minimum must also be zero; Perl allows
 19241  	//         this case, so we do too - by simply omitting the item altogether.
 19242  
 19243  	if !(repeat_max == Tuint32_t(0)) {
 19244  		goto __367
 19245  	}
 19246  	goto END_REPEAT
 19247  __367:
 19248  	;
 19249  
 19250  	// Combine the op_type with the repeat_type
 19251  
 19252  	repeat_type = repeat_type + op_type
 19253  
 19254  	// A minimum of zero is handled either as the special case * or ?, or as
 19255  	//         an UPTO, with the maximum given.
 19256  
 19257  	if !(repeat_min == Tuint32_t(0)) {
 19258  		goto __368
 19259  	}
 19260  
 19261  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19262  		goto __370
 19263  	}
 19264  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19265  	goto __371
 19266  __370:
 19267  	if !(repeat_max == Tuint32_t(1)) {
 19268  		goto __372
 19269  	}
 19270  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19271  	goto __373
 19272  __372:
 19273  
 19274  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19275  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19276  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19277  	code += uintptr(DIMM2_SIZE)
 19278  __373:
 19279  	;
 19280  __371:
 19281  	;
 19282  	goto __369
 19283  __368:
 19284  	if !(repeat_min == Tuint32_t(1)) {
 19285  		goto __374
 19286  	}
 19287  
 19288  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19289  		goto __376
 19290  	}
 19291  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_PLUS + repeat_type)
 19292  	goto __377
 19293  __376:
 19294  
 19295  	code = oldcode // Leave previous item in place
 19296  	if !(repeat_max == Tuint32_t(1)) {
 19297  		goto __378
 19298  	}
 19299  	goto END_REPEAT
 19300  __378:
 19301  	;
 19302  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19303  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) >> 8)
 19304  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) & Tuint32_t(255))
 19305  	code += uintptr(DIMM2_SIZE)
 19306  __377:
 19307  	;
 19308  	goto __375
 19309  __374:
 19310  
 19311  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_EXACT + op_type) // NB EXACT doesn't have repeat_type
 19312  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 19313  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 19314  	code += uintptr(DIMM2_SIZE)
 19315  
 19316  	// Unless repeat_max equals repeat_min, fill in the data for EXACT,
 19317  	//           and then generate the second opcode. For a repeated Unicode property
 19318  	//           match, there are two extra values that define the required property,
 19319  	//           and mclength is set zero to indicate this.
 19320  
 19321  	if !(repeat_max != repeat_min) {
 19322  		goto __379
 19323  	}
 19324  
 19325  	if !(mclength > Tuint32_t(0)) {
 19326  		goto __380
 19327  	}
 19328  
 19329  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19330  	code += uintptr(mclength)
 19331  	goto __381
 19332  __380:
 19333  
 19334  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19335  	if !(prop_type >= 0) {
 19336  		goto __382
 19337  	}
 19338  
 19339  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19340  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19341  __382:
 19342  	;
 19343  __381:
 19344  	;
 19345  
 19346  	// Now set up the following opcode
 19347  
 19348  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19349  		goto __383
 19350  	}
 19351  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19352  	goto __384
 19353  __383:
 19354  
 19355  	repeat_max = repeat_max - repeat_min
 19356  	if !(repeat_max == Tuint32_t(1)) {
 19357  		goto __385
 19358  	}
 19359  
 19360  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19361  	goto __386
 19362  __385:
 19363  
 19364  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19365  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19366  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19367  	code += uintptr(DIMM2_SIZE)
 19368  __386:
 19369  	;
 19370  __384:
 19371  	;
 19372  __379:
 19373  	;
 19374  __375:
 19375  	;
 19376  __369:
 19377  	;
 19378  
 19379  	// Fill in the character or character type for the final opcode.
 19380  
 19381  	if !(mclength > Tuint32_t(0)) {
 19382  		goto __387
 19383  	}
 19384  
 19385  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19386  	code += uintptr(mclength)
 19387  	goto __388
 19388  __387:
 19389  
 19390  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19391  	if !(prop_type >= 0) {
 19392  		goto __389
 19393  	}
 19394  
 19395  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19396  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19397  __389:
 19398  	;
 19399  __388:
 19400  	;
 19401  __363:
 19402  	;
 19403  	goto __267
 19404  __267:
 19405  	; // End of switch on different op_previous values
 19406  
 19407  	// If the character following a repeat is '+', possessive_quantifier is
 19408  	//     TRUE. For some opcodes, there are special alternative opcodes for this
 19409  	//     case. For anything else, we wrap the entire repeated item inside OP_ONCE
 19410  	//     brackets. Logically, the '+' notation is just syntactic sugar, taken from
 19411  	//     Sun's Java package, but the special opcodes can optimize it.
 19412  	//
 19413  	//     Some (but not all) possessively repeated subpatterns have already been
 19414  	//     completely handled in the code just above. For them, possessive_quantifier
 19415  	//     is always FALSE at this stage. Note that the repeated item starts at
 19416  	//     tempcode, not at previous, which might be the first part of a string whose
 19417  	//     (former) last char we repeated.
 19418  
 19419  	if !(possessive_quantifier != 0) {
 19420  		goto __390
 19421  	}
 19422  
 19423  	// Possessifying an EXACT quantifier has no effect, so we can ignore it.
 19424  	//       However, QUERY, STAR, or UPTO may follow (for quantifiers such as {5,6},
 19425  	//       {5,}, or {5,10}). We skip over an EXACT item; if the length of what
 19426  	//       remains is greater than zero, there's a further opcode that can be
 19427  	//       handled. If not, do nothing, leaving the EXACT alone.
 19428  
 19429  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))) {
 19430  	case OP_TYPEEXACT:
 19431  		goto __392
 19432  
 19433  	// CHAR opcodes are used for exacts whose count is 1.
 19434  
 19435  	case OP_CHAR:
 19436  		goto __393
 19437  	case OP_CHARI:
 19438  		goto __394
 19439  	case OP_NOT:
 19440  		goto __395
 19441  	case OP_NOTI:
 19442  		goto __396
 19443  	case OP_EXACT:
 19444  		goto __397
 19445  	case OP_EXACTI:
 19446  		goto __398
 19447  	case OP_NOTEXACT:
 19448  		goto __399
 19449  	case OP_NOTEXACTI:
 19450  		goto __400
 19451  
 19452  	// For the class opcodes, the repeat operator appears at the end;
 19453  	//         adjust tempcode to point to it.
 19454  
 19455  	case OP_CLASS:
 19456  		goto __401
 19457  	case OP_NCLASS:
 19458  		goto __402
 19459  
 19460  	case OP_XCLASS:
 19461  		goto __403
 19462  	}
 19463  	goto __391
 19464  
 19465  __392:
 19466  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88))))]) + func() int32 {
 19467  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_PROP ||
 19468  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_NOTPROP {
 19469  			return 2
 19470  		}
 19471  		return 0
 19472  	}())
 19473  	goto __391
 19474  
 19475  	// CHAR opcodes are used for exacts whose count is 1.
 19476  
 19477  __393:
 19478  __394:
 19479  __395:
 19480  __396:
 19481  __397:
 19482  __398:
 19483  __399:
 19484  __400:
 19485  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))])
 19486  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 19487  		goto __404
 19488  	}
 19489  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1))))&0x3f])
 19490  __404:
 19491  	;
 19492  	goto __391
 19493  
 19494  	// For the class opcodes, the repeat operator appears at the end;
 19495  	//         adjust tempcode to point to it.
 19496  
 19497  __401:
 19498  __402:
 19499  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 19500  	goto __391
 19501  
 19502  __403:
 19503  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2)))))
 19504  	goto __391
 19505  __391:
 19506  	;
 19507  
 19508  	// If tempcode is equal to code (which points to the end of the repeated
 19509  	//       item), it means we have skipped an EXACT item but there is no following
 19510  	//       QUERY, STAR, or UPTO; the value of len will be 0, and we do nothing. In
 19511  	//       all other cases, tempcode will be pointing to the repeat opcode, and will
 19512  	//       be less than code, so the value of len will be greater than 0.
 19513  
 19514  	len1 = int32((int64(code) - int64(*(*uintptr)(unsafe.Pointer(bp + 88)))) / 1)
 19515  	if !(len1 > 0) {
 19516  		goto __405
 19517  	}
 19518  
 19519  	repcode = uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))))
 19520  
 19521  	// There is a table for possessifying opcodes, all of which are less
 19522  	//         than OP_CALLOUT. A zero entry means there is no possessified version.
 19523  	//
 19524  
 19525  	if !(repcode < OP_CALLOUT && int32(opcode_possessify[repcode]) > 0) {
 19526  		goto __406
 19527  	}
 19528  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = opcode_possessify[repcode]
 19529  	goto __407
 19530  __406:
 19531  
 19532  	libc.Xmemmove(tls, *(*uintptr)(unsafe.Pointer(bp + 88))+uintptr(1)+uintptr(DLINK_SIZE), *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)), uint64(len1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19533  	code += uintptr(1 + DLINK_SIZE)
 19534  	len1 = len1 + (1 + DLINK_SIZE)
 19535  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = OP_ONCE
 19536  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19537  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(len1 >> 8)
 19538  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(len1 & 255)
 19539  	code += uintptr(DLINK_SIZE)
 19540  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 1)) = TPCRE2_UCHAR8(len1 >> 8)
 19541  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 2)) = TPCRE2_UCHAR8(len1 & 255)
 19542  __407:
 19543  	;
 19544  __405:
 19545  	;
 19546  __390:
 19547  	;
 19548  
 19549  	// We set the "follows varying string" flag for subsequently encountered
 19550  	//     reqcus if it isn't already set and we have just passed a varying length
 19551  	//     item.
 19552  
 19553  END_REPEAT:
 19554  	*(*Tuint32_t)(unsafe.Pointer(cb + 276)) |= reqvary
 19555  	goto __12
 19556  
 19557  	// ===================================================================
 19558  	// Handle a 32-bit data character with a value greater than META_END.
 19559  
 19560  __67:
 19561  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 19562  	goto NORMAL_CHAR
 19563  
 19564  	// ===============================================================
 19565  	// Handle a back reference by number, which is the meta argument. The
 19566  	//     pattern offsets for back references to group numbers less than 10 are held
 19567  	//     in a special vector, to avoid using more than two parsed pattern elements
 19568  	//     in 64-bit environments. We only need the offset to the first occurrence,
 19569  	//     because if that doesn't fail, subsequent ones will also be OK.
 19570  
 19571  __68:
 19572  	if !(meta_arg < Tuint32_t(10)) {
 19573  		goto __408
 19574  	}
 19575  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(meta_arg)*8))
 19576  	goto __409
 19577  __408:
 19578  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 19579  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 19580  __409:
 19581  	;
 19582  
 19583  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19584  		goto __410
 19585  	}
 19586  
 19587  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19588  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19589  	return 0
 19590  __410:
 19591  	;
 19592  
 19593  	// Come here from named backref handling when the reference is to a
 19594  	//     single group (that is, not to a duplicated name). The back reference
 19595  	//     data will have already been updated. We must disable firstcu if not
 19596  	//     set, to cope with cases like (?=(\w+))\1: which would otherwise set ':'
 19597  	//     later.
 19598  
 19599  HANDLE_SINGLE_REFERENCE:
 19600  	if !(firstcuflags == DREQ_UNSET) {
 19601  		goto __411
 19602  	}
 19603  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 19604  __411:
 19605  	;
 19606  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19607  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19608  			return OP_REFI
 19609  		}
 19610  		return OP_REF
 19611  	}()
 19612  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19614  	code += uintptr(DIMM2_SIZE)
 19615  
 19616  	// Update the map of back references, and keep the highest one. We
 19617  	//     could do this in parse_regex() for numerical back references, but not
 19618  	//     for named back references, because we don't know the numbers to which
 19619  	//     named back references refer. So we do it all in this function.
 19620  
 19621  	*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 19622  		if meta_arg < Tuint32_t(32) {
 19623  			return uint32(1) << meta_arg
 19624  		}
 19625  		return uint32(1)
 19626  	}()
 19627  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 19628  		goto __412
 19629  	}
 19630  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = meta_arg
 19631  __412:
 19632  	;
 19633  	goto __12
 19634  
 19635  	// ===============================================================
 19636  	// Handle recursion by inserting the number of the called group (which is
 19637  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 19638  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 19639  	//     done like this to avoid problems with forward references and adjusting
 19640  	//     offsets when groups are duplicated and moved (as discovered in previous
 19641  	//     implementations). Note that a recursion does not have a set first
 19642  	//     character.
 19643  
 19644  __69:
 19645  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 19646  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 19647  
 19648  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19649  		goto __413
 19650  	}
 19651  
 19652  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19653  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19654  	return 0
 19655  __413:
 19656  	;
 19657  HANDLE_NUMERICAL_RECURSION:
 19658  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_RECURSE
 19659  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19660  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19661  	code += uintptr(1 + DLINK_SIZE)
 19662  	groupsetfirstcu = DFALSE
 19663  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse = DTRUE
 19664  	if !(firstcuflags == DREQ_UNSET) {
 19665  		goto __414
 19666  	}
 19667  	firstcuflags = DREQ_NONE
 19668  __414:
 19669  	;
 19670  	zerofirstcu = firstcu
 19671  	zerofirstcuflags = firstcuflags
 19672  	goto __12
 19673  
 19674  	// ===============================================================
 19675  	// Handle capturing parentheses; the number is the meta argument.
 19676  
 19677  __70:
 19678  	bravalue = OP_CBRA
 19679  	skipunits = Tuint32_t(DIMM2_SIZE)
 19680  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19681  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19682  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Flastcapture = meta_arg
 19683  	goto GROUP_PROCESS_NOTE_EMPTY
 19684  
 19685  	// ===============================================================
 19686  	// Handle escape sequence items. For ones like \d, the ESC_values are
 19687  	//     arranged to be the same as the corresponding OP_values in the default case
 19688  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 19689  	//     here).
 19690  	//
 19691  	//     Note: \Q and \E are never seen here, as they were dealt with in
 19692  	//     parse_pattern(). Neither are numerical back references or recursions, which
 19693  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 19694  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 19695  	//     META_RECURSE_BYNAME.
 19696  
 19697  __71:
 19698  
 19699  	// We can test for escape sequences that consume a character because their
 19700  	//     values lie between ESC_b and ESC_Z; this may have to change if any new ones
 19701  	//     are ever created. For these sequences, we disable the setting of a first
 19702  	//     character if it hasn't already been set.
 19703  
 19704  	if !(meta_arg > ESC_b && meta_arg < ESC_Z) {
 19705  		goto __415
 19706  	}
 19707  
 19708  	matched_char = DTRUE
 19709  	if !(firstcuflags == DREQ_UNSET) {
 19710  		goto __416
 19711  	}
 19712  	firstcuflags = DREQ_NONE
 19713  __416:
 19714  	;
 19715  __415:
 19716  	;
 19717  
 19718  	// Set values to reset to if this is followed by a zero repeat.
 19719  
 19720  	zerofirstcu = firstcu
 19721  	zerofirstcuflags = firstcuflags
 19722  	zeroreqcu = reqcu
 19723  	zeroreqcuflags = reqcuflags
 19724  
 19725  	// If Unicode is not supported, \P and \p are not allowed and are
 19726  	//     faulted at parse time, so will never appear here.
 19727  
 19728  	if !(meta_arg == ESC_P || meta_arg == ESC_p) {
 19729  		goto __417
 19730  	}
 19731  
 19732  	ptype1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16
 19733  	pdata1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff)
 19734  
 19735  	// The special case of \p{Any} is compiled to OP_ALLANY so as to benefit
 19736  	//       from the auto-anchoring code.
 19737  
 19738  	if !(meta_arg == ESC_p && ptype1 == Tuint32_t(DPT_ANY)) {
 19739  		goto __418
 19740  	}
 19741  
 19742  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_ALLANY
 19743  	goto __419
 19744  __418:
 19745  
 19746  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19747  		if meta_arg == ESC_p {
 19748  			return OP_PROP
 19749  		}
 19750  		return OP_NOTPROP
 19751  	}()
 19752  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(ptype1)
 19753  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(pdata1)
 19754  __419:
 19755  	;
 19756  	goto __12 // End META_ESCAPE
 19757  __417:
 19758  	;
 19759  
 19760  	// \K is forbidden in lookarounds since 10.38 because that's what Perl has
 19761  	//     done. However, there's an option, in case anyone was relying on it.
 19762  
 19763  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 && meta_arg == ESC_K && (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options&DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK == Tuint32_t(0)) {
 19764  		goto __420
 19765  	}
 19766  
 19767  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR99
 19768  	return 0
 19769  __420:
 19770  	;
 19771  
 19772  	// For the rest (including \X when Unicode is supported - if not it's
 19773  	//     faulted at parse time), the OP value is the escape value when PCRE2_UCP is
 19774  	//     not set; if it is set, these escapes do not show up here because they are
 19775  	//     converted into Unicode property tests in parse_regex(). Note that \b and \B
 19776  	//     do a one-character lookbehind, and \A also behaves as if it does.
 19777  
 19778  	if !(meta_arg == ESC_C) {
 19779  		goto __421
 19780  	}
 19781  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKC)
 19782  __421:
 19783  	; // Record
 19784  	if !((meta_arg == ESC_b || meta_arg == ESC_B || meta_arg == ESC_A) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind == 0) {
 19785  		goto __422
 19786  	}
 19787  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = 1
 19788  __422:
 19789  	;
 19790  
 19791  	// In non-UTF mode, and for both 32-bit modes, we turn \C into OP_ALLANY
 19792  	//     instead of OP_ANYBYTE so that it works in DFA mode and in lookbehinds.
 19793  
 19794  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19795  		if !(utf != 0) && meta_arg == ESC_C {
 19796  			return OP_ALLANY
 19797  		}
 19798  		return uint8(meta_arg)
 19799  	}()
 19800  	goto __12 // End META_ESCAPE
 19801  
 19802  	// ===================================================================
 19803  	// Handle an unrecognized meta value. A parsed pattern value less than
 19804  	//     META_END is a literal. Otherwise we have a problem.
 19805  
 19806  __72:
 19807  	if !(meta >= DMETA_END) {
 19808  		goto __423
 19809  	}
 19810  
 19811  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 19812  	return 0
 19813  __423:
 19814  	;
 19815  
 19816  	// Handle a literal character. We come here by goto in the case of a
 19817  	//     32-bit, non-UTF character whose value is greater than META_END.
 19818  
 19819  NORMAL_CHAR:
 19820  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)))) // Get the full 32 bits
 19821  NORMAL_CHAR_SET: // Character is already in meta
 19822  	matched_char = DTRUE
 19823  
 19824  	// For caseless UTF or UCP mode, check whether this character has more than
 19825  	//     one other case. If so, generate a special OP_PROP item instead of OP_CHARI.
 19826  	//
 19827  
 19828  	if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0)) {
 19829  		goto __424
 19830  	}
 19831  
 19832  	caseset = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(meta)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(meta)%DUCD_BLOCK_SIZE])*12)).Fcaseset)
 19833  	if !(caseset != Tuint32_t(0)) {
 19834  		goto __425
 19835  	}
 19836  
 19837  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_PROP
 19838  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 19839  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(caseset)
 19840  	if !(firstcuflags == DREQ_UNSET) {
 19841  		goto __426
 19842  	}
 19843  	firstcuflags = libc.AssignUint32(&zerofirstcuflags, DREQ_NONE)
 19844  __426:
 19845  	;
 19846  	goto __12 // End handling this meta item
 19847  __425:
 19848  	;
 19849  __424:
 19850  	;
 19851  
 19852  	// Caseful matches, or caseless and not one of the multicase characters. We
 19853  	//     come here by goto in the case of a positive class that contains only
 19854  	//     case-partners of a character with just two cases; matched_char has already
 19855  	//     been set TRUE and options fudged if necessary.
 19856  
 19857  CLASS_CASELESS_CHAR:
 19858  
 19859  	// Get the character's code units into mcbuffer, with the length in
 19860  	//     mclength. When not in UTF mode, the length is always 1.
 19861  
 19862  	if !(utf != 0) {
 19863  		goto __427
 19864  	}
 19865  	mclength = X_pcre2_ord2utf_8(tls, meta, bp+72)
 19866  	goto __428
 19867  __427:
 19868  
 19869  	mclength = Tuint32_t(1)
 19870  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta)
 19871  __428:
 19872  	;
 19873  
 19874  	// Generate the appropriate code
 19875  
 19876  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19877  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19878  			return OP_CHARI
 19879  		}
 19880  		return OP_CHAR
 19881  	}()
 19882  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19883  	code += uintptr(mclength)
 19884  
 19885  	// Remember if \r or \n were seen
 19886  
 19887  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\015' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\012') {
 19888  		goto __429
 19889  	}
 19890  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 19891  __429:
 19892  	;
 19893  
 19894  	// Set the first and required code units appropriately. If no previous
 19895  	//     first code unit, set it from this character, but revert to none on a zero
 19896  	//     repeat. Otherwise, leave the firstcu value alone, and don't change it on
 19897  	//     a zero repeat.
 19898  
 19899  	if !(firstcuflags == DREQ_UNSET) {
 19900  		goto __430
 19901  	}
 19902  
 19903  	zerofirstcuflags = DREQ_NONE
 19904  	zeroreqcu = reqcu
 19905  	zeroreqcuflags = reqcuflags
 19906  
 19907  	// If the character is more than one code unit long, we can set a single
 19908  	//       firstcu only if it is not to be matched caselessly. Multiple possible
 19909  	//       starting code units may be picked up later in the studying code.
 19910  
 19911  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19912  		goto __432
 19913  	}
 19914  
 19915  	firstcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)))
 19916  	firstcuflags = req_caseopt
 19917  	if !(mclength != Tuint32_t(1)) {
 19918  		goto __434
 19919  	}
 19920  
 19921  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19922  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19923  __434:
 19924  	;
 19925  	goto __433
 19926  __432:
 19927  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_NONE)
 19928  __433:
 19929  	;
 19930  	goto __431
 19931  __430:
 19932  
 19933  	zerofirstcu = firstcu
 19934  	zerofirstcuflags = firstcuflags
 19935  	zeroreqcu = reqcu
 19936  	zeroreqcuflags = reqcuflags
 19937  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19938  		goto __435
 19939  	}
 19940  
 19941  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19942  	reqcuflags = req_caseopt | (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19943  __435:
 19944  	;
 19945  __431:
 19946  	;
 19947  
 19948  	// If caselessness was temporarily instated, reset it.
 19949  
 19950  	if !(reset_caseful != 0) {
 19951  		goto __436
 19952  	}
 19953  
 19954  	options = options & libc.CplUint32(DPCRE2_CASELESS)
 19955  	req_caseopt = Tuint32_t(0)
 19956  	reset_caseful = DFALSE
 19957  __436:
 19958  	;
 19959  
 19960  	goto __12 // End literal character handling
 19961  __12:
 19962  	; // End of big switch
 19963  	goto __2
 19964  __2:
 19965  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 19966  	goto __1
 19967  	goto __3
 19968  __3:
 19969  	;
 19970  	return int32(0) // End of big loop
 19971  
 19972  	// Control never reaches here.
 19973  }
 19974  
 19975  // ************************************************
 19976  //
 19977  //   Compile regex: a sequence of alternatives    *
 19978  //
 19979  
 19980  // On entry, pptr is pointing past the bracket meta, but on return it points to
 19981  // the closing bracket or META_END. The code variable is pointing at the code unit
 19982  // into which the BRA operator has been stored. This function is used during the
 19983  // pre-compile phase when we are trying to find out the amount of memory needed,
 19984  // as well as during the real compile phase. The value of lengthptr distinguishes
 19985  // the two phases.
 19986  //
 19987  // Arguments:
 19988  //   options           option bits, including any changes for this subpattern
 19989  //   codeptr           -> the address of the current code pointer
 19990  //   pptrptr           -> the address of the current parsed pattern pointer
 19991  //   errorcodeptr      -> pointer to error code variable
 19992  //   skipunits         skip this many code units at start (for brackets and OP_COND)
 19993  //   firstcuptr        place to put the first required code unit
 19994  //   firstcuflagsptr   place to put the first code unit flags
 19995  //   reqcuptr          place to put the last required code unit
 19996  //   reqcuflagsptr     place to put the last required code unit flags
 19997  //   bcptr             pointer to the chain of currently open branches
 19998  //   cb                points to the data block with tables pointers etc.
 19999  //   lengthptr         NULL during the real compile phase
 20000  //                     points to length accumulator during pre-compile phase
 20001  //
 20002  // Returns:            0 There has been an error
 20003  //                    +1 Success, this group must match at least one character
 20004  //                    -1 Success, this group may match an empty string
 20005  
 20006  func compile_regex(tls *libc.TLS, options Tuint32_t, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, skipunits Tuint32_t, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:8095:1: */
 20007  	bp := tls.Alloc(80)
 20008  	defer tls.Free(80)
 20009  	*(*Tuint32_t)(unsafe.Pointer(bp + 16)) = options
 20010  
 20011  	*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr))
 20012  	var last_branch uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20013  	var start_bracket uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20014  	var lookbehind TBOOL
 20015  	// var capitem Topen_capitem at bp, 16
 20016  
 20017  	var capnumber int32 = 0
 20018  	var okreturn int32 = 1
 20019  	*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 20020  	var firstcu Tuint32_t
 20021  	var reqcu Tuint32_t
 20022  	var lookbehindlength Tuint32_t
 20023  	var firstcuflags Tuint32_t
 20024  	var reqcuflags Tuint32_t
 20025  	// var branchfirstcu Tuint32_t at bp+40, 4
 20026  
 20027  	// var branchreqcu Tuint32_t at bp+48, 4
 20028  
 20029  	// var branchfirstcuflags Tuint32_t at bp+44, 4
 20030  
 20031  	// var branchreqcuflags Tuint32_t at bp+52, 4
 20032  
 20033  	// var length Tsize_t at bp+72, 8
 20034  
 20035  	// var bc Tbranch_chain_8 at bp+56, 16
 20036  
 20037  	// If set, call the external function that checks for stack availability.
 20038  
 20039  	if (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard != uintptr(0) && (*struct {
 20040  		f func(*libc.TLS, Tuint32_t, uintptr) int32
 20041  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard})).f(tls, uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fparens_depth), (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard_data) != 0 {
 20042  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR33
 20043  		return 0
 20044  	}
 20045  
 20046  	// Miscellaneous initialization
 20047  
 20048  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fouter = bcptr
 20049  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20050  
 20051  	firstcu = libc.AssignUint32(&reqcu, Tuint32_t(0))
 20052  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_UNSET)
 20053  
 20054  	// Accumulate the length for use in the pre-compile phase. Start with the
 20055  	// length of the BRA and KET and any extra code units that are required at the
 20056  	// beginning. We accumulate in a local variable to save frequent testing of
 20057  	// lengthptr for NULL. We cannot do this by looking at the value of 'code' at the
 20058  	// start and end of each alternative, because compiled items are discarded during
 20059  	// the pre-compile phase so that the workspace is not exceeded.
 20060  
 20061  	*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) = Tsize_t(Tuint32_t(2+2*DLINK_SIZE) + skipunits)
 20062  
 20063  	// Remember if this is a lookbehind assertion, and if it is, save its length
 20064  	// and skip over the pattern offset.
 20065  
 20066  	lookbehind = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NOT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NA)
 20067  
 20068  	if lookbehind != 0 {
 20069  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-1)*4)) & 0x0000ffff
 20070  		*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 20071  	} else {
 20072  		lookbehindlength = Tuint32_t(0)
 20073  	}
 20074  
 20075  	// If this is a capturing subpattern, add to the chain of open capturing items
 20076  	// so that we can detect them if (*ACCEPT) is encountered. Note that only OP_CBRA
 20077  	// need be tested here; changing this opcode to one of its variants, e.g.
 20078  	// OP_SCBRAPOS, happens later, after the group has been compiled.
 20079  
 20080  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_CBRA {
 20081  		capnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 4)))))
 20082  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnumber = Tuint16_t(capnumber)
 20083  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnext = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 20084  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fassert_depth = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth
 20085  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = bp /* &capitem */
 20086  	}
 20087  
 20088  	// Offset is set zero to mark that this bracket is still open
 20089  
 20090  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32(0) >> 8)
 20091  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(0 & 255)
 20092  	*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(Tuint32_t(1+DLINK_SIZE) + skipunits)
 20093  
 20094  	// Loop for each alternative branch
 20095  
 20096  	for {
 20097  		var branch_return int32
 20098  
 20099  		// Insert OP_REVERSE if this is as lookbehind assertion.
 20100  
 20101  		if lookbehind != 0 && lookbehindlength > Tuint32_t(0) {
 20102  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)), 1))) = OP_REVERSE
 20103  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = TPCRE2_UCHAR8(lookbehindlength >> 8)
 20104  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(lookbehindlength & Tuint32_t(255))
 20105  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(DLINK_SIZE)
 20106  			*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE)
 20107  		}
 20108  
 20109  		// Now compile the branch; in the pre-compile phase its length gets added
 20110  		//   into the length.
 20111  
 20112  		if libc.AssignInt32(&branch_return, compile_branch(tls, bp+16, bp+24, bp+32, errorcodeptr, bp+40,
 20113  			bp+44, bp+48, bp+52, bp+56,
 20114  			cb, func() uintptr {
 20115  				if lengthptr == uintptr(0) {
 20116  					return uintptr(0)
 20117  				}
 20118  				return bp + 72
 20119  			}())) == 0 {
 20120  			return 0
 20121  		}
 20122  
 20123  		// If a branch can match an empty string, so can the whole group.
 20124  
 20125  		if branch_return < 0 {
 20126  			okreturn = -1
 20127  		}
 20128  
 20129  		// In the real compile phase, there is some post-processing to be done.
 20130  
 20131  		if lengthptr == uintptr(0) {
 20132  			// If this is the first branch, the firstcu and reqcu values for the
 20133  			//     branch become the values for the regex.
 20134  
 20135  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch))) != OP_ALT {
 20136  				firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */))
 20137  				firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */))
 20138  				reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */))
 20139  				reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */))
 20140  			} else {
 20141  				// If we previously had a firstcu, but it doesn't match the new branch,
 20142  				//       we have to abandon the firstcu for the regex, but if there was
 20143  				//       previously no reqcu, it takes on the value of the old firstcu.
 20144  
 20145  				if firstcuflags != *(*Tuint32_t)(unsafe.Pointer(bp + 44)) || firstcu != *(*Tuint32_t)(unsafe.Pointer(bp + 40)) {
 20146  					if firstcuflags < DREQ_NONE {
 20147  						if reqcuflags >= DREQ_NONE {
 20148  							reqcu = firstcu
 20149  							reqcuflags = firstcuflags
 20150  						}
 20151  					}
 20152  					firstcuflags = DREQ_NONE
 20153  				}
 20154  
 20155  				// If we (now or from before) have no firstcu, a firstcu from the
 20156  				//       branch becomes a reqcu if there isn't a branch reqcu.
 20157  
 20158  				if firstcuflags >= DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 44)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 52)) >= DREQ_NONE {
 20159  					*(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */))
 20160  					*(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */))
 20161  				}
 20162  
 20163  				// Now ensure that the reqcus match
 20164  
 20165  				if reqcuflags&libc.CplUint32(DREQ_VARY) != *(*Tuint32_t)(unsafe.Pointer(bp + 52))&libc.CplUint32(DREQ_VARY) || reqcu != *(*Tuint32_t)(unsafe.Pointer(bp + 48)) {
 20166  					reqcuflags = DREQ_NONE
 20167  				} else {
 20168  					reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */))
 20169  					reqcuflags = reqcuflags | *(*Tuint32_t)(unsafe.Pointer(bp + 52)) // To "or" REQ_VARY if present
 20170  				}
 20171  			}
 20172  		}
 20173  
 20174  		// Handle reaching the end of the expression, either ')' or end of pattern.
 20175  		//   In the real compile phase, go back through the alternative branches and
 20176  		//   reverse the chain of offsets, with the field in the BRA item now becoming an
 20177  		//   offset to the first alternative. If there are no alternatives, it points to
 20178  		//   the end of the group. The length in the terminating ket is always the length
 20179  		//   of the whole bracketed item. Return leaving the pointer at the terminating
 20180  		//   char.
 20181  
 20182  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32))))&0xffff0000 != DMETA_ALT {
 20183  			if lengthptr == uintptr(0) {
 20184  				var branch_length Tsize_t = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 24))) - int64(last_branch)) / 1)
 20185  				for __ccgo := true; __ccgo; __ccgo = branch_length > uint64(0) {
 20186  					var prev_length Tsize_t = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)))))
 20187  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)) = TPCRE2_UCHAR8(branch_length >> 8)
 20188  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)) = TPCRE2_UCHAR8(branch_length & uint64(255))
 20189  					branch_length = prev_length
 20190  					last_branch -= uintptr(branch_length)
 20191  				}
 20192  			}
 20193  
 20194  			// Fill in the ket
 20195  
 20196  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_KET
 20197  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) >> 8)
 20198  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) & 255)
 20199  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE)
 20200  
 20201  			// If it was a capturing subpattern, remove the block from the chain.
 20202  
 20203  			if capnumber > 0 {
 20204  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = (*Topen_capitem)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps)).Fnext
 20205  			}
 20206  
 20207  			// Set values to pass back
 20208  
 20209  			*(*uintptr)(unsafe.Pointer(codeptr)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20210  			*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */))
 20211  			*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 20212  			*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 20213  			*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 20214  			*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 20215  			if lengthptr != uintptr(0) {
 20216  				if uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 72)) {
 20217  					*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 20218  					return 0
 20219  				}
 20220  				*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 72))
 20221  			}
 20222  			return okreturn
 20223  		}
 20224  
 20225  		// Another branch follows. In the pre-compile phase, we can move the code
 20226  		//   pointer back to where it was for the start of the first branch. (That is,
 20227  		//   pretend that each branch is the only one.)
 20228  		//
 20229  		//   In the real compile phase, insert an ALT node. Its length field points back
 20230  		//   to the previous branch while the bracket remains open. At the end the chain
 20231  		//   is reversed. It's done like this so that the start of the bracket has a
 20232  		//   zero offset until it is closed, making it possible to detect recursion.
 20233  
 20234  		if lengthptr != uintptr(0) {
 20235  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr)) + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(skipunits)
 20236  			*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE)
 20237  		} else {
 20238  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_ALT
 20239  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) >> 8)
 20240  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) & 255)
 20241  			(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = libc.AssignUintptr(&last_branch, *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))
 20242  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE)
 20243  		}
 20244  
 20245  		// Set the lookbehind length (if not in a lookbehind the value will be zero)
 20246  		//   and then advance past the vertical bar.
 20247  
 20248  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))) & 0x0000ffff
 20249  		*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4
 20250  	}
 20251  	return int32(0)
 20252  	// Control never reaches here
 20253  }
 20254  
 20255  // ************************************************
 20256  //
 20257  //          Check for anchored pattern            *
 20258  //
 20259  
 20260  // Try to find out if this is an anchored regular expression. Consider each
 20261  // alternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket
 20262  // all of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then
 20263  // it's anchored. However, if this is a multiline pattern, then only OP_SOD will
 20264  // be found, because ^ generates OP_CIRCM in that mode.
 20265  //
 20266  // We can also consider a regex to be anchored if OP_SOM starts all its branches.
 20267  // This is the code for \G, which means "match at start of match position, taking
 20268  // into account the match offset".
 20269  //
 20270  // A branch is also implicitly anchored if it starts with .* and DOTALL is set,
 20271  // because that will try the rest of the pattern at all possible matching points,
 20272  // so there is no point trying again.... er ....
 20273  //
 20274  // .... except when the .* appears inside capturing parentheses, and there is a
 20275  // subsequent back reference to those parentheses. We haven't enough information
 20276  // to catch that case precisely.
 20277  //
 20278  // At first, the best we could do was to detect when .* was in capturing brackets
 20279  // and the highest back reference was greater than or equal to that level.
 20280  // However, by keeping a bitmap of the first 31 back references, we can catch some
 20281  // of the more common cases more precisely.
 20282  //
 20283  // ... A second exception is when the .* appears inside an atomic group, because
 20284  // this prevents the number of characters it matches from being adjusted.
 20285  //
 20286  // Arguments:
 20287  //   code           points to start of the compiled pattern
 20288  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20289  //                    handles up to substring 31; after that we just have to take
 20290  //                    the less precise approach
 20291  //   cb             points to the compile data block
 20292  //   atomcount      atomic group level
 20293  //   inassert       TRUE if in an assertion
 20294  //
 20295  // Returns:     TRUE or FALSE
 20296  
 20297  func is_anchored(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map Tuint32_t, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8394:1: */
 20298  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20299  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20300  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20301  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20302  
 20303  		// Non-capturing brackets
 20304  
 20305  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20306  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20307  				return DFALSE
 20308  			}
 20309  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20310  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20311  			var new_map Tuint32_t = bracket_map | func() uint32 {
 20312  				if n < 32 {
 20313  					return uint32(1) << n
 20314  				}
 20315  				return uint32(1)
 20316  			}()
 20317  			if !(is_anchored(tls, scode, new_map, cb, atomcount, inassert) != 0) {
 20318  				return DFALSE
 20319  			}
 20320  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20321  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20322  				return DFALSE
 20323  			}
 20324  		} else if op == OP_COND || op == OP_SCOND {
 20325  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))))) != OP_ALT {
 20326  				return DFALSE
 20327  			}
 20328  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20329  				return DFALSE
 20330  			}
 20331  		} else if op == OP_ONCE {
 20332  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20333  				return DFALSE
 20334  			}
 20335  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20336  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ALLANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != Tuint32_t(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) {
 20337  				return DFALSE
 20338  			}
 20339  		} else if op != OP_SOD && op != OP_SOM && op != OP_CIRC {
 20340  			return DFALSE
 20341  		}
 20342  
 20343  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20344  	} // Loop for each alternative
 20345  	return DTRUE
 20346  }
 20347  
 20348  // ************************************************
 20349  //
 20350  //         Check for starting with ^ or .*        *
 20351  //
 20352  
 20353  // This is called to find out if every branch starts with ^ or .* so that
 20354  // "first char" processing can be done to speed things up in multiline
 20355  // matching and for non-DOTALL patterns that start with .* (which must start at
 20356  // the beginning or after \n). As in the case of is_anchored() (see above), we
 20357  // have to take account of back references to capturing brackets that contain .*
 20358  // because in that case we can't make the assumption. Also, the appearance of .*
 20359  // inside atomic brackets or in an assertion, or in a pattern that contains *PRUNE
 20360  // or *SKIP does not count, because once again the assumption no longer holds.
 20361  //
 20362  // Arguments:
 20363  //   code           points to start of the compiled pattern or a group
 20364  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20365  //                    handles up to substring 31; after that we just have to take
 20366  //                    the less precise approach
 20367  //   cb             points to the compile data
 20368  //   atomcount      atomic group level
 20369  //   inassert       TRUE if in an assertion
 20370  //
 20371  // Returns:         TRUE or FALSE
 20372  
 20373  func is_startline(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map uint32, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8499:1: */
 20374  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20375  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20376  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20377  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20378  
 20379  		// If we are at the start of a conditional assertion group, *both* the
 20380  		//    conditional assertion *and* what follows the condition must satisfy the test
 20381  		//    for start of line. Other kinds of condition fail. Note that there may be an
 20382  		//    auto-callout at the start of a condition.
 20383  
 20384  		if op == OP_COND {
 20385  			scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20386  
 20387  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT {
 20388  				scode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 20389  			} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT_STR {
 20390  				scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 6)))))
 20391  			}
 20392  
 20393  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) {
 20394  			case OP_CREF:
 20395  				fallthrough
 20396  			case OP_DNCREF:
 20397  				fallthrough
 20398  			case OP_RREF:
 20399  				fallthrough
 20400  			case OP_DNRREF:
 20401  				fallthrough
 20402  			case OP_FAIL:
 20403  				fallthrough
 20404  			case OP_FALSE:
 20405  				fallthrough
 20406  			case OP_TRUE:
 20407  				return DFALSE
 20408  				fallthrough
 20409  
 20410  			default: // Assertion
 20411  				if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20412  					return DFALSE
 20413  				}
 20414  				for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_ALT {
 20415  					scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))
 20416  				}
 20417  				scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20418  				break
 20419  			}
 20420  			scode = first_significant_code(tls, scode, DFALSE)
 20421  			op = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20422  		}
 20423  
 20424  		// Non-capturing brackets
 20425  
 20426  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20427  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20428  				return DFALSE
 20429  			}
 20430  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20431  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20432  			var new_map int32 = int32(bracket_map | func() uint32 {
 20433  				if n < 32 {
 20434  					return uint32(1) << n
 20435  				}
 20436  				return uint32(1)
 20437  			}())
 20438  			if !(is_startline(tls, scode, uint32(new_map), cb, atomcount, inassert) != 0) {
 20439  				return DFALSE
 20440  			}
 20441  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20442  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20443  				return DFALSE
 20444  			}
 20445  		} else if op == OP_ONCE {
 20446  			if !(is_startline(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20447  				return DFALSE
 20448  			}
 20449  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20450  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != uint32(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) {
 20451  				return DFALSE
 20452  			}
 20453  		} else if op != OP_CIRC && op != OP_CIRCM {
 20454  			return DFALSE
 20455  		}
 20456  
 20457  		// Move on to the next alternative
 20458  
 20459  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20460  	} // Loop for each alternative
 20461  	return DTRUE
 20462  }
 20463  
 20464  // ************************************************
 20465  //
 20466  //   Scan compiled regex for recursion reference  *
 20467  //
 20468  
 20469  // This function scans through a compiled pattern until it finds an instance of
 20470  // OP_RECURSE.
 20471  //
 20472  // Arguments:
 20473  //   code        points to start of expression
 20474  //   utf         TRUE in UTF mode
 20475  //
 20476  // Returns:      pointer to the opcode for OP_RECURSE, or NULL if not found
 20477  
 20478  func find_recurse(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL) TPCRE2_SPTR8 { /* pcre2_compile.c:8621:1: */
 20479  	for {
 20480  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 20481  		if int32(c) == OP_END {
 20482  			return uintptr(0)
 20483  		}
 20484  		if int32(c) == OP_RECURSE {
 20485  			return code
 20486  		}
 20487  
 20488  		// XCLASS is used for classes that cannot be represented just by a bit map.
 20489  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 20490  		//   callouts with string arguments. In both cases the length in the table is
 20491  		//   zero; the actual length is stored in the compiled code.
 20492  
 20493  		if int32(c) == OP_XCLASS {
 20494  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20495  		} else if int32(c) == OP_CALLOUT_STR {
 20496  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 20497  		} else {
 20498  			switch int32(c) {
 20499  			case OP_TYPESTAR:
 20500  				fallthrough
 20501  			case OP_TYPEMINSTAR:
 20502  				fallthrough
 20503  			case OP_TYPEPLUS:
 20504  				fallthrough
 20505  			case OP_TYPEMINPLUS:
 20506  				fallthrough
 20507  			case OP_TYPEQUERY:
 20508  				fallthrough
 20509  			case OP_TYPEMINQUERY:
 20510  				fallthrough
 20511  			case OP_TYPEPOSSTAR:
 20512  				fallthrough
 20513  			case OP_TYPEPOSPLUS:
 20514  				fallthrough
 20515  			case OP_TYPEPOSQUERY:
 20516  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 20517  					code += uintptr(2)
 20518  				}
 20519  				break
 20520  				fallthrough
 20521  
 20522  			case OP_TYPEPOSUPTO:
 20523  				fallthrough
 20524  			case OP_TYPEUPTO:
 20525  				fallthrough
 20526  			case OP_TYPEMINUPTO:
 20527  				fallthrough
 20528  			case OP_TYPEEXACT:
 20529  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 20530  					code += uintptr(2)
 20531  				}
 20532  				break
 20533  				fallthrough
 20534  
 20535  			case OP_MARK:
 20536  				fallthrough
 20537  			case OP_COMMIT_ARG:
 20538  				fallthrough
 20539  			case OP_PRUNE_ARG:
 20540  				fallthrough
 20541  			case OP_SKIP_ARG:
 20542  				fallthrough
 20543  			case OP_THEN_ARG:
 20544  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 20545  				break
 20546  			}
 20547  
 20548  			// Add in the fixed length from the table
 20549  
 20550  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 20551  
 20552  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may
 20553  			//     be followed by a multi-unit character. The length in the table is a
 20554  			//     minimum, so we have to arrange to skip the extra units.
 20555  
 20556  			if utf != 0 {
 20557  				switch int32(c) {
 20558  				case OP_CHAR:
 20559  					fallthrough
 20560  				case OP_CHARI:
 20561  					fallthrough
 20562  				case OP_NOT:
 20563  					fallthrough
 20564  				case OP_NOTI:
 20565  					fallthrough
 20566  				case OP_EXACT:
 20567  					fallthrough
 20568  				case OP_EXACTI:
 20569  					fallthrough
 20570  				case OP_NOTEXACT:
 20571  					fallthrough
 20572  				case OP_NOTEXACTI:
 20573  					fallthrough
 20574  				case OP_UPTO:
 20575  					fallthrough
 20576  				case OP_UPTOI:
 20577  					fallthrough
 20578  				case OP_NOTUPTO:
 20579  					fallthrough
 20580  				case OP_NOTUPTOI:
 20581  					fallthrough
 20582  				case OP_MINUPTO:
 20583  					fallthrough
 20584  				case OP_MINUPTOI:
 20585  					fallthrough
 20586  				case OP_NOTMINUPTO:
 20587  					fallthrough
 20588  				case OP_NOTMINUPTOI:
 20589  					fallthrough
 20590  				case OP_POSUPTO:
 20591  					fallthrough
 20592  				case OP_POSUPTOI:
 20593  					fallthrough
 20594  				case OP_NOTPOSUPTO:
 20595  					fallthrough
 20596  				case OP_NOTPOSUPTOI:
 20597  					fallthrough
 20598  				case OP_STAR:
 20599  					fallthrough
 20600  				case OP_STARI:
 20601  					fallthrough
 20602  				case OP_NOTSTAR:
 20603  					fallthrough
 20604  				case OP_NOTSTARI:
 20605  					fallthrough
 20606  				case OP_MINSTAR:
 20607  					fallthrough
 20608  				case OP_MINSTARI:
 20609  					fallthrough
 20610  				case OP_NOTMINSTAR:
 20611  					fallthrough
 20612  				case OP_NOTMINSTARI:
 20613  					fallthrough
 20614  				case OP_POSSTAR:
 20615  					fallthrough
 20616  				case OP_POSSTARI:
 20617  					fallthrough
 20618  				case OP_NOTPOSSTAR:
 20619  					fallthrough
 20620  				case OP_NOTPOSSTARI:
 20621  					fallthrough
 20622  				case OP_PLUS:
 20623  					fallthrough
 20624  				case OP_PLUSI:
 20625  					fallthrough
 20626  				case OP_NOTPLUS:
 20627  					fallthrough
 20628  				case OP_NOTPLUSI:
 20629  					fallthrough
 20630  				case OP_MINPLUS:
 20631  					fallthrough
 20632  				case OP_MINPLUSI:
 20633  					fallthrough
 20634  				case OP_NOTMINPLUS:
 20635  					fallthrough
 20636  				case OP_NOTMINPLUSI:
 20637  					fallthrough
 20638  				case OP_POSPLUS:
 20639  					fallthrough
 20640  				case OP_POSPLUSI:
 20641  					fallthrough
 20642  				case OP_NOTPOSPLUS:
 20643  					fallthrough
 20644  				case OP_NOTPOSPLUSI:
 20645  					fallthrough
 20646  				case OP_QUERY:
 20647  					fallthrough
 20648  				case OP_QUERYI:
 20649  					fallthrough
 20650  				case OP_NOTQUERY:
 20651  					fallthrough
 20652  				case OP_NOTQUERYI:
 20653  					fallthrough
 20654  				case OP_MINQUERY:
 20655  					fallthrough
 20656  				case OP_MINQUERYI:
 20657  					fallthrough
 20658  				case OP_NOTMINQUERY:
 20659  					fallthrough
 20660  				case OP_NOTMINQUERYI:
 20661  					fallthrough
 20662  				case OP_POSQUERY:
 20663  					fallthrough
 20664  				case OP_POSQUERYI:
 20665  					fallthrough
 20666  				case OP_NOTPOSQUERY:
 20667  					fallthrough
 20668  				case OP_NOTPOSQUERYI:
 20669  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 20670  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 20671  					}
 20672  					break
 20673  				}
 20674  			}
 20675  		}
 20676  	}
 20677  	return TPCRE2_SPTR8(0)
 20678  }
 20679  
 20680  // ************************************************
 20681  //
 20682  //    Check for asserted fixed first code unit    *
 20683  //
 20684  
 20685  // During compilation, the "first code unit" settings from forward assertions
 20686  // are discarded, because they can cause conflicts with actual literals that
 20687  // follow. However, if we end up without a first code unit setting for an
 20688  // unanchored pattern, it is worth scanning the regex to see if there is an
 20689  // initial asserted first code unit. If all branches start with the same asserted
 20690  // code unit, or with a non-conditional bracket all of whose alternatives start
 20691  // with the same asserted code unit (recurse ad lib), then we return that code
 20692  // unit, with the flags set to zero or REQ_CASELESS; otherwise return zero with
 20693  // REQ_NONE in the flags.
 20694  //
 20695  // Arguments:
 20696  //   code       points to start of compiled pattern
 20697  //   flags      points to the first code unit flags
 20698  //   inassert   non-zero if in an assertion
 20699  //
 20700  // Returns:     the fixed first code unit, or 0 with REQ_NONE in flags
 20701  
 20702  func find_firstassertedcu(tls *libc.TLS, code TPCRE2_SPTR8, flags uintptr, inassert Tuint32_t) Tuint32_t { /* pcre2_compile.c:8777:1: */
 20703  	bp := tls.Alloc(4)
 20704  	defer tls.Free(4)
 20705  
 20706  	var c Tuint32_t = Tuint32_t(0)
 20707  	var cflags Tuint32_t = DREQ_NONE
 20708  
 20709  	*(*Tuint32_t)(unsafe.Pointer(flags)) = DREQ_NONE
 20710  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20711  		var d Tuint32_t
 20712  		// var dflags Tuint32_t at bp, 4
 20713  
 20714  		var xl int32
 20715  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS {
 20716  			xl = DIMM2_SIZE
 20717  		} else {
 20718  			xl = 0
 20719  		}
 20720  		var scode TPCRE2_SPTR8 = first_significant_code(tls, code+uintptr(1)+uintptr(DLINK_SIZE)+uintptr(xl), DTRUE)
 20721  		var op TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))
 20722  
 20723  		switch int32(op) {
 20724  		default:
 20725  			return Tuint32_t(0)
 20726  
 20727  		case OP_BRA:
 20728  			fallthrough
 20729  		case OP_BRAPOS:
 20730  			fallthrough
 20731  		case OP_CBRA:
 20732  			fallthrough
 20733  		case OP_SCBRA:
 20734  			fallthrough
 20735  		case OP_CBRAPOS:
 20736  			fallthrough
 20737  		case OP_SCBRAPOS:
 20738  			fallthrough
 20739  		case OP_ASSERT:
 20740  			fallthrough
 20741  		case OP_ASSERT_NA:
 20742  			fallthrough
 20743  		case OP_ONCE:
 20744  			fallthrough
 20745  		case OP_SCRIPT_RUN:
 20746  			d = find_firstassertedcu(tls, scode, bp, inassert+func() uint32 {
 20747  				if int32(op) == OP_ASSERT || int32(op) == OP_ASSERT_NA {
 20748  					return uint32(1)
 20749  				}
 20750  				return uint32(0)
 20751  			}())
 20752  			if *(*Tuint32_t)(unsafe.Pointer(bp)) >= DREQ_NONE {
 20753  				return Tuint32_t(0)
 20754  			}
 20755  			if cflags >= DREQ_NONE {
 20756  				c = d
 20757  				cflags = *(*Tuint32_t)(unsafe.Pointer(bp /* dflags */))
 20758  			} else if c != d || cflags != *(*Tuint32_t)(unsafe.Pointer(bp)) {
 20759  				return Tuint32_t(0)
 20760  			}
 20761  			break
 20762  
 20763  		case OP_EXACT:
 20764  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20765  			fallthrough
 20766  		// Fall through
 20767  
 20768  		case OP_CHAR:
 20769  			fallthrough
 20770  		case OP_PLUS:
 20771  			fallthrough
 20772  		case OP_MINPLUS:
 20773  			fallthrough
 20774  		case OP_POSPLUS:
 20775  			if inassert == Tuint32_t(0) {
 20776  				return Tuint32_t(0)
 20777  			}
 20778  			if cflags >= DREQ_NONE {
 20779  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20780  				cflags = Tuint32_t(0)
 20781  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20782  				return Tuint32_t(0)
 20783  			}
 20784  			break
 20785  
 20786  		case OP_EXACTI:
 20787  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20788  			fallthrough
 20789  		// Fall through
 20790  
 20791  		case OP_CHARI:
 20792  			fallthrough
 20793  		case OP_PLUSI:
 20794  			fallthrough
 20795  		case OP_MINPLUSI:
 20796  			fallthrough
 20797  		case OP_POSPLUSI:
 20798  			if inassert == Tuint32_t(0) {
 20799  				return Tuint32_t(0)
 20800  			}
 20801  
 20802  			// If the character is more than one code unit long, we cannot set its
 20803  			//      first code unit when matching caselessly. Later scanning may pick up
 20804  			//      multiple code units.
 20805  
 20806  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) >= 0x80 {
 20807  				return Tuint32_t(0)
 20808  			}
 20809  
 20810  			if cflags >= DREQ_NONE {
 20811  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20812  				cflags = DREQ_CASELESS
 20813  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20814  				return Tuint32_t(0)
 20815  			}
 20816  			break
 20817  		}
 20818  
 20819  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20820  	}
 20821  
 20822  	*(*Tuint32_t)(unsafe.Pointer(flags)) = cflags
 20823  	return c
 20824  }
 20825  
 20826  // ************************************************
 20827  //
 20828  //     Add an entry to the name/number table      *
 20829  //
 20830  
 20831  // This function is called between compiling passes to add an entry to the
 20832  // name/number table, maintaining alphabetical order. Checking for permitted
 20833  // and forbidden duplicates has already been done.
 20834  //
 20835  // Arguments:
 20836  //   cb           the compile data block
 20837  //   name         the name to add
 20838  //   length       the length of the name
 20839  //   groupno      the group number
 20840  //   tablecount   the count of names in the table so far
 20841  //
 20842  // Returns:       nothing
 20843  
 20844  func add_name_to_table(tls *libc.TLS, cb uintptr, name TPCRE2_SPTR8, length int32, groupno uint32, tablecount Tuint32_t) { /* pcre2_compile.c:8882:1: */
 20845  	var i Tuint32_t
 20846  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 20847  
 20848  	for i = Tuint32_t(0); i < tablecount; i++ {
 20849  		var crc int32 = libc.Xmemcmp(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20850  		if crc == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE+length)))) != 0 {
 20851  			crc = -1
 20852  		} // Current name is a substring
 20853  
 20854  		// Make space in the table and break the loop for an earlier name. For a
 20855  		//   duplicate or later name, carry on. We do this for duplicates so that in the
 20856  		//   simple case (when ?(| is not used) they are in order of their numbers. In all
 20857  		//   cases they are in the order in which they appear in the pattern.
 20858  
 20859  		if crc < 0 {
 20860  			libc.Xmemmove(tls, slot+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size), slot,
 20861  				uint64((tablecount-i)*Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 20862  			break
 20863  		}
 20864  
 20865  		// Continue the loop for a later or duplicate name
 20866  
 20867  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 20868  	}
 20869  
 20870  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)) = TPCRE2_UCHAR8(groupno >> 8)
 20871  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)) = TPCRE2_UCHAR8(groupno & uint32(255))
 20872  	libc.Xmemcpy(tls, slot+uintptr(DIMM2_SIZE), name, uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20873  
 20874  	// Add a terminating zero and fill the rest of the slot with zeroes so that
 20875  	// the memory is all initialized. Otherwise valgrind moans about uninitialized
 20876  	// memory when saving serialized compiled patterns.
 20877  
 20878  	libc.Xmemset(tls, slot+uintptr(DIMM2_SIZE)+uintptr(length), 0,
 20879  		uint64((int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)-length-DIMM2_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20880  }
 20881  
 20882  // ************************************************
 20883  //
 20884  //             Skip in parsed pattern             *
 20885  //
 20886  
 20887  // This function is called to skip parts of the parsed pattern when finding the
 20888  // length of a lookbehind branch. It is called after (*ACCEPT) and (*FAIL) to find
 20889  // the end of the branch, it is called to skip over an internal lookaround or
 20890  // (DEFINE) group, and it is also called to skip to the end of a class, during
 20891  // which it will never encounter nested groups (but there's no need to have
 20892  // special code for that).
 20893  //
 20894  // When called to find the end of a branch or group, pptr must point to the first
 20895  // meta code inside the branch, not the branch-starting code. In other cases it
 20896  // can point to the item that causes the function to be called.
 20897  //
 20898  // Arguments:
 20899  //   pptr       current pointer to skip from
 20900  //   skiptype   PSKIP_CLASS when skipping to end of class
 20901  //              PSKIP_ALT when META_ALT ends the skip
 20902  //              PSKIP_KET when only META_KET ends the skip
 20903  //
 20904  // Returns:     new value of pptr
 20905  //              NULL if META_END is reached - should never occur
 20906  //                or for an unknown meta value - likewise
 20907  
 20908  func parsed_skip(tls *libc.TLS, pptr uintptr, skiptype Tuint32_t) uintptr { /* pcre2_compile.c:8950:17: */
 20909  	var nestlevel Tuint32_t = Tuint32_t(0)
 20910  
 20911  	for ; ; pptr += 4 {
 20912  		var meta Tuint32_t = *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0xffff0000
 20913  
 20914  		switch meta {
 20915  		default: // Just skip over most items
 20916  			if meta < DMETA_END {
 20917  				continue
 20918  			} // Literal
 20919  			break
 20920  
 20921  		// This should never occur.
 20922  
 20923  		case DMETA_END:
 20924  			return uintptr(0)
 20925  
 20926  		// The data for these items is variable in length.
 20927  
 20928  		case DMETA_BACKREF: // Offset is present only if group >= 10
 20929  			if *(*Tuint32_t)(unsafe.Pointer(pptr))&0x0000ffff >= Tuint32_t(10) {
 20930  				pptr += 4 * uintptr(DSIZEOFFSET)
 20931  			}
 20932  			break
 20933  
 20934  		case DMETA_ESCAPE: // A few escapes are followed by data items.
 20935  			switch *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0x0000ffff {
 20936  			case ESC_P:
 20937  				fallthrough
 20938  			case ESC_p:
 20939  				pptr += 4 * uintptr(1)
 20940  				break
 20941  
 20942  			case ESC_g:
 20943  				fallthrough
 20944  			case ESC_k:
 20945  				pptr += 4 * uintptr(1+DSIZEOFFSET)
 20946  				break
 20947  			}
 20948  			break
 20949  
 20950  		case DMETA_MARK:
 20951  			fallthrough // Add the length of the name.
 20952  		case DMETA_COMMIT_ARG:
 20953  			fallthrough
 20954  		case DMETA_PRUNE_ARG:
 20955  			fallthrough
 20956  		case DMETA_SKIP_ARG:
 20957  			fallthrough
 20958  		case DMETA_THEN_ARG:
 20959  			pptr += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(pptr + 1*4)))
 20960  			break
 20961  
 20962  		// These are the "active" items in this loop.
 20963  
 20964  		case DMETA_CLASS_END:
 20965  			if skiptype == PSKIP_CLASS {
 20966  				return pptr
 20967  			}
 20968  			break
 20969  
 20970  		case DMETA_ATOMIC:
 20971  			fallthrough
 20972  		case DMETA_CAPTURE:
 20973  			fallthrough
 20974  		case DMETA_COND_ASSERT:
 20975  			fallthrough
 20976  		case DMETA_COND_DEFINE:
 20977  			fallthrough
 20978  		case DMETA_COND_NAME:
 20979  			fallthrough
 20980  		case DMETA_COND_NUMBER:
 20981  			fallthrough
 20982  		case DMETA_COND_RNAME:
 20983  			fallthrough
 20984  		case DMETA_COND_RNUMBER:
 20985  			fallthrough
 20986  		case DMETA_COND_VERSION:
 20987  			fallthrough
 20988  		case DMETA_LOOKAHEAD:
 20989  			fallthrough
 20990  		case DMETA_LOOKAHEADNOT:
 20991  			fallthrough
 20992  		case DMETA_LOOKAHEAD_NA:
 20993  			fallthrough
 20994  		case DMETA_LOOKBEHIND:
 20995  			fallthrough
 20996  		case DMETA_LOOKBEHINDNOT:
 20997  			fallthrough
 20998  		case DMETA_LOOKBEHIND_NA:
 20999  			fallthrough
 21000  		case DMETA_NOCAPTURE:
 21001  			fallthrough
 21002  		case DMETA_SCRIPT_RUN:
 21003  			nestlevel++
 21004  			break
 21005  
 21006  		case DMETA_ALT:
 21007  			if nestlevel == Tuint32_t(0) && skiptype == PSKIP_ALT {
 21008  				return pptr
 21009  			}
 21010  			break
 21011  
 21012  		case DMETA_KET:
 21013  			if nestlevel == Tuint32_t(0) {
 21014  				return pptr
 21015  			}
 21016  			nestlevel--
 21017  			break
 21018  		}
 21019  
 21020  		// The extra data item length for each meta is in a table.
 21021  
 21022  		meta = meta >> 16 & Tuint32_t(0x7fff)
 21023  		if uint64(meta) >= uint64(unsafe.Sizeof(meta_extra_lengths)) {
 21024  			return uintptr(0)
 21025  		}
 21026  		pptr += 4 * uintptr(meta_extra_lengths[meta])
 21027  	}
 21028  	// Control never reaches here
 21029  	return pptr
 21030  }
 21031  
 21032  // ************************************************
 21033  //
 21034  //       Find length of a parsed group            *
 21035  //
 21036  
 21037  // This is called for nested groups within a branch of a lookbehind whose
 21038  // length is being computed. If all the branches in the nested group have the same
 21039  // length, that is OK. On entry, the pointer must be at the first element after
 21040  // the group initializing code. On exit it points to OP_KET. Caching is used to
 21041  // improve processing speed when the same capturing group occurs many times.
 21042  //
 21043  // Arguments:
 21044  //   pptrptr     pointer to pointer in the parsed pattern
 21045  //   isinline    FALSE if a reference or recursion; TRUE for inline group
 21046  //   errcodeptr  pointer to the errorcode
 21047  //   lcptr       pointer to the loop counter
 21048  //   group       number of captured group or -1 for a non-capturing group
 21049  //   recurses    chain of recurse_check to catch mutual recursion
 21050  //   cb          pointer to the compile data
 21051  //
 21052  // Returns:      the group length or a negative number
 21053  
 21054  func get_grouplength(tls *libc.TLS, pptrptr uintptr, isinline TBOOL, errcodeptr uintptr, lcptr uintptr, group int32, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9070:1: */
 21055  	var branchlength int32
 21056  	var grouplength int32
 21057  	var groupinfo Tuint32_t
 21058  	grouplength = -1
 21059  
 21060  	// The cache can be used only if there is no possibility of there being two
 21061  	// groups with the same number. We do not need to set the end pointer for a group
 21062  	// that is being processed as a back reference or recursion, but we must do so for
 21063  	// an inline group.
 21064  
 21065  	if !(group > 0 && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21066  		goto __1
 21067  	}
 21068  
 21069  	groupinfo = *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4))
 21070  	if !(groupinfo&DGI_NOT_FIXED_LENGTH != Tuint32_t(0)) {
 21071  		goto __2
 21072  	}
 21073  	return -1
 21074  __2:
 21075  	;
 21076  	if !(groupinfo&DGI_SET_FIXED_LENGTH != Tuint32_t(0)) {
 21077  		goto __3
 21078  	}
 21079  
 21080  	if !(isinline != 0) {
 21081  		goto __4
 21082  	}
 21083  	*(*uintptr)(unsafe.Pointer(pptrptr)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(pptrptr)), PSKIP_KET)
 21084  __4:
 21085  	;
 21086  	return int32(groupinfo & DGI_FIXED_LENGTH_MASK)
 21087  __3:
 21088  	;
 21089  __1:
 21090  	;
 21091  
 21092  	// Scan the group. In this case we find the end pointer of necessity.
 21093  
 21094  __5:
 21095  
 21096  	branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21097  	if !(branchlength < 0) {
 21098  		goto __8
 21099  	}
 21100  	goto ISNOTFIXED
 21101  __8:
 21102  	;
 21103  	if !(grouplength == -1) {
 21104  		goto __9
 21105  	}
 21106  	grouplength = branchlength
 21107  	goto __10
 21108  __9:
 21109  	if !(grouplength != branchlength) {
 21110  		goto __11
 21111  	}
 21112  	goto ISNOTFIXED
 21113  __11:
 21114  	;
 21115  __10:
 21116  	;
 21117  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pptrptr)))) == DMETA_KET) {
 21118  		goto __12
 21119  	}
 21120  	goto __7
 21121  __12:
 21122  	;
 21123  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4 // Skip META_ALT
 21124  	goto __6
 21125  __6:
 21126  	goto __5
 21127  	goto __7
 21128  __7:
 21129  	;
 21130  
 21131  	if !(group > 0) {
 21132  		goto __13
 21133  	}
 21134  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_SET_FIXED_LENGTH | uint32(grouplength)
 21135  __13:
 21136  	;
 21137  	return grouplength
 21138  
 21139  ISNOTFIXED:
 21140  	if !(group > 0) {
 21141  		goto __14
 21142  	}
 21143  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_NOT_FIXED_LENGTH
 21144  __14:
 21145  	;
 21146  	return -1
 21147  }
 21148  
 21149  // ************************************************
 21150  //
 21151  //        Find length of a parsed branch          *
 21152  //
 21153  
 21154  // Return a fixed length for a branch in a lookbehind, giving an error if the
 21155  // length is not fixed. On entry, *pptrptr points to the first element inside the
 21156  // branch. On exit it is set to point to the ALT or KET.
 21157  //
 21158  // Arguments:
 21159  //   pptrptr     pointer to pointer in the parsed pattern
 21160  //   errcodeptr  pointer to error code
 21161  //   lcptr       pointer to loop counter
 21162  //   recurses    chain of recurse_check to catch mutual recursion
 21163  //   cb          pointer to compile block
 21164  //
 21165  // Returns:      the length, or a negative value on error
 21166  
 21167  func get_branchlength(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9134:1: */
 21168  	bp := tls.Alloc(32)
 21169  	defer tls.Free(32)
 21170  
 21171  	var branchlength int32
 21172  	var grouplength int32
 21173  	var lastitemlength Tuint32_t
 21174  	// var pptr uintptr at bp, 8
 21175  
 21176  	var offset Tsize_t
 21177  	// var this_recurse Tparsed_recurse_check at bp+16, 16
 21178  
 21179  	var i int32
 21180  	var name TPCRE2_SPTR8
 21181  	var is_dupname TBOOL
 21182  	var ng uintptr
 21183  	var meta_code Tuint32_t
 21184  	var length Tuint32_t
 21185  	var r uintptr
 21186  	// var gptr uintptr at bp+8, 8
 21187  
 21188  	var gptrend uintptr
 21189  	var escape Tuint32_t
 21190  	var group Tuint32_t
 21191  	var itemlength Tuint32_t
 21192  	branchlength = 0
 21193  	lastitemlength = Tuint32_t(0)
 21194  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 21195  
 21196  	// A large and/or complex regex can take too long to process. This can happen
 21197  	// more often when (?| groups are present in the pattern because their length
 21198  	// cannot be cached.
 21199  
 21200  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(lcptr)), 1) > 2000) {
 21201  		goto __1
 21202  	}
 21203  
 21204  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR35 // Lookbehind is too complicated
 21205  	return -1
 21206  __1:
 21207  	;
 21208  
 21209  	// Scan the branch, accumulating the length.
 21210  
 21211  __2:
 21212  	;
 21213  	group = Tuint32_t(0)
 21214  	itemlength = Tuint32_t(0)
 21215  
 21216  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END) {
 21217  		goto __5
 21218  	}
 21219  
 21220  	itemlength = Tuint32_t(1)
 21221  	goto __6
 21222  __5:
 21223  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 21224  	case DMETA_KET:
 21225  		goto __8
 21226  	case DMETA_ALT:
 21227  		goto __9
 21228  
 21229  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21230  	//     actual termination.
 21231  
 21232  	case DMETA_ACCEPT:
 21233  		goto __10
 21234  	case DMETA_FAIL:
 21235  		goto __11
 21236  
 21237  	case DMETA_MARK:
 21238  		goto __12
 21239  	case DMETA_COMMIT_ARG:
 21240  		goto __13
 21241  	case DMETA_PRUNE_ARG:
 21242  		goto __14
 21243  	case DMETA_SKIP_ARG:
 21244  		goto __15
 21245  	case DMETA_THEN_ARG:
 21246  		goto __16
 21247  
 21248  	case DMETA_CIRCUMFLEX:
 21249  		goto __17
 21250  	case DMETA_COMMIT:
 21251  		goto __18
 21252  	case DMETA_DOLLAR:
 21253  		goto __19
 21254  	case DMETA_PRUNE:
 21255  		goto __20
 21256  	case DMETA_SKIP:
 21257  		goto __21
 21258  	case DMETA_THEN:
 21259  		goto __22
 21260  
 21261  	case DMETA_OPTIONS:
 21262  		goto __23
 21263  
 21264  	case DMETA_BIGVALUE:
 21265  		goto __24
 21266  
 21267  	case DMETA_CLASS:
 21268  		goto __25
 21269  	case DMETA_CLASS_NOT:
 21270  		goto __26
 21271  
 21272  	case DMETA_CLASS_EMPTY_NOT:
 21273  		goto __27
 21274  	case DMETA_DOT:
 21275  		goto __28
 21276  
 21277  	case DMETA_CALLOUT_NUMBER:
 21278  		goto __29
 21279  
 21280  	case DMETA_CALLOUT_STRING:
 21281  		goto __30
 21282  
 21283  	// Only some escapes consume a character. Of those, \R and \X are never
 21284  	//     allowed because they might match more than character. \C is allowed only in
 21285  	//     32-bit and non-UTF 8/16-bit modes.
 21286  
 21287  	case DMETA_ESCAPE:
 21288  		goto __31
 21289  
 21290  	// Lookaheads do not contribute to the length of this branch, but they may
 21291  	//     contain lookbehinds within them whose lengths need to be set.
 21292  
 21293  	case DMETA_LOOKAHEAD:
 21294  		goto __32
 21295  	case DMETA_LOOKAHEADNOT:
 21296  		goto __33
 21297  	case DMETA_LOOKAHEAD_NA:
 21298  		goto __34
 21299  
 21300  	// A nested lookbehind does not contribute any length to this lookbehind,
 21301  	//     but must itself be checked and have its lengths set.
 21302  
 21303  	case DMETA_LOOKBEHIND:
 21304  		goto __35
 21305  	case DMETA_LOOKBEHINDNOT:
 21306  		goto __36
 21307  	case DMETA_LOOKBEHIND_NA:
 21308  		goto __37
 21309  
 21310  	// Back references and recursions are handled by very similar code. At this
 21311  	//     stage, the names generated in the parsing pass are available, but the main
 21312  	//     name table has not yet been created. So for the named varieties, scan the
 21313  	//     list of names in order to get the number of the first one in the pattern,
 21314  	//     and whether or not this name is duplicated.
 21315  
 21316  	case DMETA_BACKREF_BYNAME:
 21317  		goto __38
 21318  	// Fall through
 21319  
 21320  	case DMETA_RECURSE_BYNAME:
 21321  		goto __39 // Duplicate name or number
 21322  
 21323  	// The offset values for back references < 10 are in a separate vector
 21324  	//     because otherwise they would use more than two parsed pattern elements on
 21325  	//     64-bit systems.
 21326  
 21327  	case DMETA_BACKREF:
 21328  		goto __40
 21329  
 21330  	// Fall through
 21331  	// For groups >= 10 - picking up group twice does no harm.
 21332  
 21333  	// A true recursion implies not fixed length, but a subroutine call may
 21334  	//     be OK. Back reference "recursions" are also failed.
 21335  
 21336  	case DMETA_RECURSE:
 21337  		goto __41
 21338  
 21339  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21340  	//     the length of this branch. Skip from the following item to the next
 21341  	//     unpaired ket.
 21342  
 21343  	case DMETA_COND_DEFINE:
 21344  		goto __42
 21345  
 21346  	// Check other nested groups - advance past the initial data for each type
 21347  	//     and then seek a fixed length with get_grouplength().
 21348  
 21349  	case DMETA_COND_NAME:
 21350  		goto __43
 21351  	case DMETA_COND_NUMBER:
 21352  		goto __44
 21353  	case DMETA_COND_RNAME:
 21354  		goto __45
 21355  	case DMETA_COND_RNUMBER:
 21356  		goto __46
 21357  
 21358  	case DMETA_COND_ASSERT:
 21359  		goto __47
 21360  
 21361  	case DMETA_COND_VERSION:
 21362  		goto __48
 21363  
 21364  	case DMETA_CAPTURE:
 21365  		goto __49
 21366  	// Fall through
 21367  
 21368  	case DMETA_ATOMIC:
 21369  		goto __50
 21370  	case DMETA_NOCAPTURE:
 21371  		goto __51
 21372  	case DMETA_SCRIPT_RUN:
 21373  		goto __52
 21374  
 21375  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21376  	//     must subtract the length that has already been added.
 21377  
 21378  	case DMETA_MINMAX:
 21379  		goto __53
 21380  	case DMETA_MINMAX_PLUS:
 21381  		goto __54
 21382  	case DMETA_MINMAX_QUERY:
 21383  		goto __55
 21384  	// Fall through
 21385  
 21386  	// Any other item means this branch does not have a fixed length.
 21387  
 21388  	default:
 21389  		goto __56
 21390  	}
 21391  	goto __7
 21392  
 21393  __8:
 21394  __9:
 21395  	goto EXIT
 21396  
 21397  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21398  	//     actual termination.
 21399  
 21400  __10:
 21401  __11:
 21402  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_ALT)
 21403  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21404  		goto __57
 21405  	}
 21406  	goto PARSED_SKIP_FAILED
 21407  __57:
 21408  	;
 21409  	goto EXIT
 21410  
 21411  __12:
 21412  __13:
 21413  __14:
 21414  __15:
 21415  __16:
 21416  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))+Tuint32_t(1))
 21417  	goto __7
 21418  
 21419  __17:
 21420  __18:
 21421  __19:
 21422  __20:
 21423  __21:
 21424  __22:
 21425  	goto __7
 21426  
 21427  __23:
 21428  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21429  	goto __7
 21430  
 21431  __24:
 21432  	itemlength = Tuint32_t(1)
 21433  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21434  	goto __7
 21435  
 21436  __25:
 21437  __26:
 21438  	itemlength = Tuint32_t(1)
 21439  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_CLASS)
 21440  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21441  		goto __58
 21442  	}
 21443  	goto PARSED_SKIP_FAILED
 21444  __58:
 21445  	;
 21446  	goto __7
 21447  
 21448  __27:
 21449  __28:
 21450  	itemlength = Tuint32_t(1)
 21451  	goto __7
 21452  
 21453  __29:
 21454  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21455  	goto __7
 21456  
 21457  __30:
 21458  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 21459  	goto __7
 21460  
 21461  	// Only some escapes consume a character. Of those, \R and \X are never
 21462  	//     allowed because they might match more than character. \C is allowed only in
 21463  	//     32-bit and non-UTF 8/16-bit modes.
 21464  
 21465  __31:
 21466  	escape = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21467  	if !(escape == ESC_R || escape == ESC_X) {
 21468  		goto __59
 21469  	}
 21470  	return -1
 21471  __59:
 21472  	;
 21473  	if !(escape > ESC_b && escape < ESC_Z) {
 21474  		goto __60
 21475  	}
 21476  
 21477  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0) && escape == ESC_C) {
 21478  		goto __61
 21479  	}
 21480  
 21481  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR36
 21482  	return -1
 21483  __61:
 21484  	;
 21485  	itemlength = Tuint32_t(1)
 21486  	if !(escape == ESC_p || escape == ESC_P) {
 21487  		goto __62
 21488  	}
 21489  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21490  __62:
 21491  	; // Skip prop data
 21492  __60:
 21493  	;
 21494  	goto __7
 21495  
 21496  	// Lookaheads do not contribute to the length of this branch, but they may
 21497  	//     contain lookbehinds within them whose lengths need to be set.
 21498  
 21499  __32:
 21500  __33:
 21501  __34:
 21502  	*(*int32)(unsafe.Pointer(errcodeptr)) = check_lookbehinds(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, bp, recurses, cb, lcptr)
 21503  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) != 0) {
 21504  		goto __63
 21505  	}
 21506  	return -1
 21507  __63:
 21508  	;
 21509  
 21510  	// Ignore any qualifiers that follow a lookahead assertion.
 21511  
 21512  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21513  	case DMETA_ASTERISK:
 21514  		goto __65
 21515  	case DMETA_ASTERISK_PLUS:
 21516  		goto __66
 21517  	case DMETA_ASTERISK_QUERY:
 21518  		goto __67
 21519  	case DMETA_PLUS:
 21520  		goto __68
 21521  	case DMETA_PLUS_PLUS:
 21522  		goto __69
 21523  	case DMETA_PLUS_QUERY:
 21524  		goto __70
 21525  	case DMETA_QUERY:
 21526  		goto __71
 21527  	case DMETA_QUERY_PLUS:
 21528  		goto __72
 21529  	case DMETA_QUERY_QUERY:
 21530  		goto __73
 21531  
 21532  	case DMETA_MINMAX:
 21533  		goto __74
 21534  	case DMETA_MINMAX_PLUS:
 21535  		goto __75
 21536  	case DMETA_MINMAX_QUERY:
 21537  		goto __76
 21538  
 21539  	default:
 21540  		goto __77
 21541  	}
 21542  	goto __64
 21543  
 21544  __65:
 21545  __66:
 21546  __67:
 21547  __68:
 21548  __69:
 21549  __70:
 21550  __71:
 21551  __72:
 21552  __73:
 21553  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21554  	goto __64
 21555  
 21556  __74:
 21557  __75:
 21558  __76:
 21559  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21560  	goto __64
 21561  
 21562  __77:
 21563  	goto __64
 21564  __64:
 21565  	;
 21566  	goto __7
 21567  
 21568  	// A nested lookbehind does not contribute any length to this lookbehind,
 21569  	//     but must itself be checked and have its lengths set.
 21570  
 21571  __35:
 21572  __36:
 21573  __37:
 21574  	if !!(set_lookbehind_lengths(tls, bp, errcodeptr, lcptr, recurses, cb) != 0) {
 21575  		goto __78
 21576  	}
 21577  	return -1
 21578  __78:
 21579  	;
 21580  	goto __7
 21581  
 21582  	// Back references and recursions are handled by very similar code. At this
 21583  	//     stage, the names generated in the parsing pass are available, but the main
 21584  	//     name table has not yet been created. So for the named varieties, scan the
 21585  	//     list of names in order to get the number of the first one in the pattern,
 21586  	//     and whether or not this name is duplicated.
 21587  
 21588  __38:
 21589  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 21590  		goto __79
 21591  	}
 21592  	goto ISNOTFIXED
 21593  __79:
 21594  	;
 21595  	// Fall through
 21596  
 21597  __39:
 21598  
 21599  	is_dupname = DFALSE
 21600  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 21601  	meta_code = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000
 21602  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp)), 4)))
 21603  
 21604  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4)))
 21605  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21606  
 21607  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 21608  	i = 0
 21609  __80:
 21610  	if !(i < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 21611  		goto __82
 21612  	}
 21613  
 21614  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) {
 21615  		goto __83
 21616  	}
 21617  
 21618  	group = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 21619  	is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup)
 21620  	goto __82
 21621  __83:
 21622  	;
 21623  	goto __81
 21624  __81:
 21625  	i++
 21626  	ng += 16
 21627  	goto __80
 21628  	goto __82
 21629  __82:
 21630  	;
 21631  
 21632  	if !(group == Tuint32_t(0)) {
 21633  		goto __84
 21634  	}
 21635  
 21636  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21637  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21638  	return -1
 21639  __84:
 21640  	;
 21641  
 21642  	// A numerical back reference can be fixed length if duplicate capturing
 21643  	//       groups are not being used. A non-duplicate named back reference can also
 21644  	//       be handled.
 21645  
 21646  	if !(meta_code == DMETA_RECURSE_BYNAME || !(is_dupname != 0) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21647  		goto __85
 21648  	}
 21649  	goto RECURSE_OR_BACKREF_LENGTH
 21650  __85:
 21651  	; // Handle as a numbered version.
 21652  
 21653  	goto ISNOTFIXED // Duplicate name or number
 21654  
 21655  	// The offset values for back references < 10 are in a separate vector
 21656  	//     because otherwise they would use more than two parsed pattern elements on
 21657  	//     64-bit systems.
 21658  
 21659  __40:
 21660  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0)) {
 21661  		goto __86
 21662  	}
 21663  	goto ISNOTFIXED
 21664  __86:
 21665  	;
 21666  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21667  	if !(group < Tuint32_t(10)) {
 21668  		goto __87
 21669  	}
 21670  
 21671  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(group)*8))
 21672  	goto RECURSE_OR_BACKREF_LENGTH
 21673  __87:
 21674  	;
 21675  
 21676  	// Fall through
 21677  	// For groups >= 10 - picking up group twice does no harm.
 21678  
 21679  	// A true recursion implies not fixed length, but a subroutine call may
 21680  	//     be OK. Back reference "recursions" are also failed.
 21681  
 21682  __41:
 21683  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21684  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4)))
 21685  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21686  
 21687  RECURSE_OR_BACKREF_LENGTH:
 21688  	if !(group > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 21689  		goto __88
 21690  	}
 21691  
 21692  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21693  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21694  	return -1
 21695  __88:
 21696  	;
 21697  	if !(group == Tuint32_t(0)) {
 21698  		goto __89
 21699  	}
 21700  	goto ISNOTFIXED
 21701  __89:
 21702  	; // Local recursion
 21703  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 21704  __90:
 21705  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) != DMETA_END) {
 21706  		goto __92
 21707  	}
 21708  
 21709  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8))))&0xffff0000 == DMETA_BIGVALUE) {
 21710  		goto __93
 21711  	}
 21712  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21713  	goto __94
 21714  __93:
 21715  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) == DMETA_CAPTURE|group) {
 21716  		goto __95
 21717  	}
 21718  	goto __92
 21719  __95:
 21720  	;
 21721  __94:
 21722  	;
 21723  	goto __91
 21724  __91:
 21725  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21726  	goto __90
 21727  	goto __92
 21728  __92:
 21729  	;
 21730  
 21731  	// We must start the search for the end of the group at the first meta code
 21732  	//     inside the group. Otherwise it will be treated as an enclosed group.
 21733  
 21734  	gptrend = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp + 8))+uintptr(1)*4, PSKIP_KET)
 21735  	if !(gptrend == uintptr(0)) {
 21736  		goto __96
 21737  	}
 21738  	goto PARSED_SKIP_FAILED
 21739  __96:
 21740  	;
 21741  	if !(*(*uintptr)(unsafe.Pointer(bp)) > *(*uintptr)(unsafe.Pointer(bp + 8)) && *(*uintptr)(unsafe.Pointer(bp)) < gptrend) {
 21742  		goto __97
 21743  	}
 21744  	goto ISNOTFIXED
 21745  __97:
 21746  	; // Local recursion
 21747  	r = recurses
 21748  __98:
 21749  	if !(r != uintptr(0)) {
 21750  		goto __100
 21751  	}
 21752  	if !((*Tparsed_recurse_check)(unsafe.Pointer(r)).Fgroupptr == *(*uintptr)(unsafe.Pointer(bp + 8))) {
 21753  		goto __101
 21754  	}
 21755  	goto __100
 21756  __101:
 21757  	;
 21758  	goto __99
 21759  __99:
 21760  	r = (*Tparsed_recurse_check)(unsafe.Pointer(r)).Fprev
 21761  	goto __98
 21762  	goto __100
 21763  __100:
 21764  	;
 21765  	if !(r != uintptr(0)) {
 21766  		goto __102
 21767  	}
 21768  	goto ISNOTFIXED
 21769  __102:
 21770  	; // Mutual recursion
 21771  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fprev = recurses
 21772  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fgroupptr = *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */))
 21773  
 21774  	// We do not need to know the position of the end of the group, that is,
 21775  	//     gptr is not used after the call to get_grouplength(). Setting the second
 21776  	//     argument FALSE stops it scanning for the end when the length can be found
 21777  	//     in the cache.
 21778  
 21779  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21780  	grouplength = get_grouplength(tls, bp+8, DFALSE, errcodeptr, lcptr, int32(group),
 21781  		bp+16, cb)
 21782  	if !(grouplength < 0) {
 21783  		goto __103
 21784  	}
 21785  
 21786  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) == 0) {
 21787  		goto __104
 21788  	}
 21789  	goto ISNOTFIXED
 21790  __104:
 21791  	;
 21792  	return -1 // Error already set
 21793  __103:
 21794  	;
 21795  	itemlength = Tuint32_t(grouplength)
 21796  	goto __7
 21797  
 21798  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21799  	//     the length of this branch. Skip from the following item to the next
 21800  	//     unpaired ket.
 21801  
 21802  __42:
 21803  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, PSKIP_KET)
 21804  	goto __7
 21805  
 21806  	// Check other nested groups - advance past the initial data for each type
 21807  	//     and then seek a fixed length with get_grouplength().
 21808  
 21809  __43:
 21810  __44:
 21811  __45:
 21812  __46:
 21813  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2+DSIZEOFFSET)
 21814  	goto CHECK_GROUP
 21815  
 21816  __47:
 21817  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21818  	goto CHECK_GROUP
 21819  
 21820  __48:
 21821  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(4)
 21822  	goto CHECK_GROUP
 21823  
 21824  __49:
 21825  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21826  	// Fall through
 21827  
 21828  __50:
 21829  __51:
 21830  __52:
 21831  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21832  CHECK_GROUP:
 21833  	grouplength = get_grouplength(tls, bp, DTRUE, errcodeptr, lcptr, int32(group),
 21834  		recurses, cb)
 21835  	if !(grouplength < 0) {
 21836  		goto __105
 21837  	}
 21838  	return -1
 21839  __105:
 21840  	;
 21841  	itemlength = Tuint32_t(grouplength)
 21842  	goto __7
 21843  
 21844  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21845  	//     must subtract the length that has already been added.
 21846  
 21847  __53:
 21848  __54:
 21849  __55:
 21850  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) {
 21851  		goto __106
 21852  	}
 21853  
 21854  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21855  	case Tuint32_t(0):
 21856  		goto __108
 21857  
 21858  	case Tuint32_t(1):
 21859  		goto __109
 21860  
 21861  	default:
 21862  		goto __110
 21863  	}
 21864  	goto __107
 21865  
 21866  __108:
 21867  	branchlength = int32(Tuint32_t(branchlength) - lastitemlength)
 21868  	goto __107
 21869  
 21870  __109:
 21871  	itemlength = Tuint32_t(0)
 21872  	goto __107
 21873  
 21874  __110: // Check for integer overflow
 21875  	if !(lastitemlength != Tuint32_t(0) && Tuint32_t(0x7fffffff)/lastitemlength < *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))-Tuint32_t(1)) {
 21876  		goto __111
 21877  	}
 21878  
 21879  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87 // Integer overflow; lookbehind too big
 21880  	return -1
 21881  __111:
 21882  	;
 21883  	itemlength = (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) - Tuint32_t(1)) * lastitemlength
 21884  	goto __107
 21885  __107:
 21886  	;
 21887  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21888  	goto __7
 21889  __106:
 21890  	;
 21891  	// Fall through
 21892  
 21893  	// Any other item means this branch does not have a fixed length.
 21894  
 21895  __56:
 21896  ISNOTFIXED:
 21897  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25 // Not fixed length
 21898  	return -1
 21899  __7:
 21900  	;
 21901  __6:
 21902  	;
 21903  
 21904  	// Add the item length to the branchlength, checking for integer overflow and
 21905  	//   for the branch length exceeding the limit.
 21906  
 21907  	if !(0x7fffffff-branchlength < int32(itemlength) || libc.AssignAddInt32(&branchlength, int32(itemlength)) > 65535) {
 21908  		goto __112
 21909  	}
 21910  
 21911  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87
 21912  	return -1
 21913  __112:
 21914  	;
 21915  
 21916  	// Save this item length for use if the next item is a quantifier.
 21917  
 21918  	lastitemlength = itemlength
 21919  	goto __3
 21920  __3:
 21921  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21922  	goto __2
 21923  	goto __4
 21924  __4:
 21925  	;
 21926  
 21927  EXIT:
 21928  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 21929  	return branchlength
 21930  
 21931  PARSED_SKIP_FAILED:
 21932  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR90
 21933  	return -1
 21934  }
 21935  
 21936  // ************************************************
 21937  //
 21938  //        Set lengths in a lookbehind             *
 21939  //
 21940  
 21941  // This function is called for each lookbehind, to set the lengths in its
 21942  // branches. An error occurs if any branch does not have a fixed length that is
 21943  // less than the maximum (65535). On exit, the pointer must be left on the final
 21944  // ket.
 21945  //
 21946  // The function also maintains the max_lookbehind value. Any lookbehind branch
 21947  // that contains a nested lookbehind may actually look further back than the
 21948  // length of the branch. The additional amount is passed back from
 21949  // get_branchlength() as an "extra" value.
 21950  //
 21951  // Arguments:
 21952  //   pptrptr     pointer to pointer in the parsed pattern
 21953  //   errcodeptr  pointer to error code
 21954  //   lcptr       pointer to loop counter
 21955  //   recurses    chain of recurse_check to catch mutual recursion
 21956  //   cb          pointer to compile block
 21957  //
 21958  // Returns:      TRUE if all is well
 21959  //               FALSE otherwise, with error code and offset set
 21960  
 21961  func set_lookbehind_lengths(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:9545:1: */
 21962  	var offset Tsize_t
 21963  	var branchlength int32
 21964  	var bptr uintptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21965  
 21966  	{
 21967  		offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 2*4)))
 21968  	}
 21969  	// Offset for error messages
 21970  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(DSIZEOFFSET) * 4
 21971  
 21972  	for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(bptr)) == DMETA_ALT {
 21973  		*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4
 21974  		branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21975  		if branchlength < 0 {
 21976  			// The errorcode and offset may already be set from a nested lookbehind.
 21977  			if *(*int32)(unsafe.Pointer(errcodeptr)) == 0 {
 21978  				*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25
 21979  			}
 21980  			if (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset == libc.CplUint64(uint64(0)) {
 21981  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21982  			}
 21983  			return DFALSE
 21984  		}
 21985  		if branchlength > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind {
 21986  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = branchlength
 21987  		}
 21988  		*(*Tuint32_t)(unsafe.Pointer(bptr)) |= Tuint32_t(branchlength) // branchlength never more than 65535
 21989  		bptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21990  	}
 21991  
 21992  	return DTRUE
 21993  }
 21994  
 21995  // ************************************************
 21996  //
 21997  //         Check parsed pattern lookbehinds       *
 21998  //
 21999  
 22000  // This function is called at the end of parsing a pattern if any lookbehinds
 22001  // were encountered. It scans the parsed pattern for them, calling
 22002  // set_lookbehind_lengths() for each one. At the start, the errorcode is zero and
 22003  // the error offset is marked unset. The enables the functions above not to
 22004  // override settings from deeper nestings.
 22005  //
 22006  // This function is called recursively from get_branchlength() for lookaheads in
 22007  // order to process any lookbehinds that they may contain. It stops when it hits a
 22008  // non-nested closing parenthesis in this case, returning a pointer to it.
 22009  //
 22010  // Arguments
 22011  //   pptr      points to where to start (start of pattern or start of lookahead)
 22012  //   retptr    if not NULL, return the ket pointer here
 22013  //   recurses  chain of recurse_check to catch mutual recursion
 22014  //   cb        points to the compile block
 22015  //   lcptr     points to loop counter
 22016  //
 22017  // Returns:    0 on success, or an errorcode (cb->erroroffset will be set)
 22018  
 22019  func check_lookbehinds(tls *libc.TLS, pptr uintptr, retptr uintptr, recurses uintptr, cb uintptr, lcptr uintptr) int32 { /* pcre2_compile.c:9602:1: */
 22020  	bp := tls.Alloc(12)
 22021  	defer tls.Free(12)
 22022  	*(*uintptr)(unsafe.Pointer(bp)) = pptr
 22023  
 22024  	*(*int32)(unsafe.Pointer(bp + 8 /* errorcode */)) = 0
 22025  	var nestlevel int32 = 0
 22026  
 22027  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = libc.CplUint64(uint64(0))
 22028  
 22029  	for ; *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != DMETA_END; *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 {
 22030  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END {
 22031  			continue
 22032  		} // Literal
 22033  
 22034  		switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 22035  		default:
 22036  			return ERR70 // Unrecognized meta code
 22037  
 22038  		case DMETA_ESCAPE:
 22039  			if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_P || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_p {
 22040  				*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22041  			}
 22042  			break
 22043  
 22044  		case DMETA_KET:
 22045  			if libc.PreDecInt32(&nestlevel, 1) < 0 {
 22046  				if retptr != uintptr(0) {
 22047  					*(*uintptr)(unsafe.Pointer(retptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 22048  				}
 22049  				return 0
 22050  			}
 22051  			break
 22052  
 22053  		case DMETA_ATOMIC:
 22054  			fallthrough
 22055  		case DMETA_CAPTURE:
 22056  			fallthrough
 22057  		case DMETA_COND_ASSERT:
 22058  			fallthrough
 22059  		case DMETA_LOOKAHEAD:
 22060  			fallthrough
 22061  		case DMETA_LOOKAHEADNOT:
 22062  			fallthrough
 22063  		case DMETA_LOOKAHEAD_NA:
 22064  			fallthrough
 22065  		case DMETA_NOCAPTURE:
 22066  			fallthrough
 22067  		case DMETA_SCRIPT_RUN:
 22068  			nestlevel++
 22069  			break
 22070  
 22071  		case DMETA_ACCEPT:
 22072  			fallthrough
 22073  		case DMETA_ALT:
 22074  			fallthrough
 22075  		case DMETA_ASTERISK:
 22076  			fallthrough
 22077  		case DMETA_ASTERISK_PLUS:
 22078  			fallthrough
 22079  		case DMETA_ASTERISK_QUERY:
 22080  			fallthrough
 22081  		case DMETA_BACKREF:
 22082  			fallthrough
 22083  		case DMETA_CIRCUMFLEX:
 22084  			fallthrough
 22085  		case DMETA_CLASS:
 22086  			fallthrough
 22087  		case DMETA_CLASS_EMPTY:
 22088  			fallthrough
 22089  		case DMETA_CLASS_EMPTY_NOT:
 22090  			fallthrough
 22091  		case DMETA_CLASS_END:
 22092  			fallthrough
 22093  		case DMETA_CLASS_NOT:
 22094  			fallthrough
 22095  		case DMETA_COMMIT:
 22096  			fallthrough
 22097  		case DMETA_DOLLAR:
 22098  			fallthrough
 22099  		case DMETA_DOT:
 22100  			fallthrough
 22101  		case DMETA_FAIL:
 22102  			fallthrough
 22103  		case DMETA_PLUS:
 22104  			fallthrough
 22105  		case DMETA_PLUS_PLUS:
 22106  			fallthrough
 22107  		case DMETA_PLUS_QUERY:
 22108  			fallthrough
 22109  		case DMETA_PRUNE:
 22110  			fallthrough
 22111  		case DMETA_QUERY:
 22112  			fallthrough
 22113  		case DMETA_QUERY_PLUS:
 22114  			fallthrough
 22115  		case DMETA_QUERY_QUERY:
 22116  			fallthrough
 22117  		case DMETA_RANGE_ESCAPED:
 22118  			fallthrough
 22119  		case DMETA_RANGE_LITERAL:
 22120  			fallthrough
 22121  		case DMETA_SKIP:
 22122  			fallthrough
 22123  		case DMETA_THEN:
 22124  			break
 22125  
 22126  		case DMETA_RECURSE:
 22127  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22128  			break
 22129  
 22130  		case DMETA_BACKREF_BYNAME:
 22131  			fallthrough
 22132  		case DMETA_RECURSE_BYNAME:
 22133  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22134  			break
 22135  
 22136  		case DMETA_COND_DEFINE:
 22137  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22138  			nestlevel++
 22139  			break
 22140  
 22141  		case DMETA_COND_NAME:
 22142  			fallthrough
 22143  		case DMETA_COND_NUMBER:
 22144  			fallthrough
 22145  		case DMETA_COND_RNAME:
 22146  			fallthrough
 22147  		case DMETA_COND_RNUMBER:
 22148  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22149  			nestlevel++
 22150  			break
 22151  
 22152  		case DMETA_COND_VERSION:
 22153  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22154  			nestlevel++
 22155  			break
 22156  
 22157  		case DMETA_CALLOUT_STRING:
 22158  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 22159  			break
 22160  
 22161  		case DMETA_BIGVALUE:
 22162  			fallthrough
 22163  		case DMETA_OPTIONS:
 22164  			fallthrough
 22165  		case DMETA_POSIX:
 22166  			fallthrough
 22167  		case DMETA_POSIX_NEG:
 22168  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22169  			break
 22170  
 22171  		case DMETA_MINMAX:
 22172  			fallthrough
 22173  		case DMETA_MINMAX_QUERY:
 22174  			fallthrough
 22175  		case DMETA_MINMAX_PLUS:
 22176  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 22177  			break
 22178  
 22179  		case DMETA_CALLOUT_NUMBER:
 22180  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22181  			break
 22182  
 22183  		case DMETA_MARK:
 22184  			fallthrough
 22185  		case DMETA_COMMIT_ARG:
 22186  			fallthrough
 22187  		case DMETA_PRUNE_ARG:
 22188  			fallthrough
 22189  		case DMETA_SKIP_ARG:
 22190  			fallthrough
 22191  		case DMETA_THEN_ARG:
 22192  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(Tuint32_t(1)+*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))
 22193  			break
 22194  
 22195  		case DMETA_LOOKBEHIND:
 22196  			fallthrough
 22197  		case DMETA_LOOKBEHINDNOT:
 22198  			fallthrough
 22199  		case DMETA_LOOKBEHIND_NA:
 22200  			if !(set_lookbehind_lengths(tls, bp, bp+8, lcptr, recurses, cb) != 0) {
 22201  				return *(*int32)(unsafe.Pointer(bp + 8 /* errorcode */))
 22202  			}
 22203  			break
 22204  		}
 22205  	}
 22206  
 22207  	return 0
 22208  }
 22209  
 22210  // ************************************************
 22211  //
 22212  //     External function to compile a pattern     *
 22213  //
 22214  
 22215  // This function reads a regular expression in the form of a string and returns
 22216  // a pointer to a block of store holding a compiled version of the expression.
 22217  //
 22218  // Arguments:
 22219  //   pattern       the regular expression
 22220  //   patlen        the length of the pattern, or PCRE2_ZERO_TERMINATED
 22221  //   options       option bits
 22222  //   errorptr      pointer to errorcode
 22223  //   erroroffset   pointer to error offset
 22224  //   ccontext      points to a compile context or is NULL
 22225  //
 22226  // Returns:        pointer to compiled data block, or NULL on error,
 22227  //                 with errorcode and erroroffset set
 22228  
 22229  func Xpcre2_compile_8(tls *libc.TLS, pattern TPCRE2_SPTR8, patlen Tsize_t, options Tuint32_t, errorptr uintptr, erroroffset uintptr, ccontext uintptr) uintptr { /* pcre2_compile.c:9761:27: */
 22230  	bp := tls.Alloc(17928)
 22231  	defer tls.Free(17928)
 22232  
 22233  	var utf TBOOL // Set TRUE for UTF mode
 22234  	var ucp TBOOL // Set TRUE for UCP mode
 22235  	// var has_lookbehind TBOOL at bp+17744, 4
 22236  	// Set TRUE if a lookbehind is found
 22237  	var zero_terminated TBOOL
 22238  	_ = zero_terminated // Set TRUE for zero-terminated pattern
 22239  	var re uintptr      // What we will return
 22240  	// var cb Tcompile_block_8 at bp+17440, 304
 22241  	// "Static" compile-time data
 22242  	var tables uintptr // Char tables base pointer
 22243  
 22244  	// var code uintptr at bp+17752, 8
 22245  	// Current pointer in compiled code
 22246  	var codestart TPCRE2_SPTR8 // Start of compiled code
 22247  	var ptr TPCRE2_SPTR8       // Current pointer in pattern
 22248  	// var pptr uintptr at bp+17760, 8
 22249  	// Current pointer in parsed pattern
 22250  
 22251  	// var length Tsize_t at bp+17792, 8
 22252  	// Allow for final END opcode
 22253  	var usedlength Tsize_t         // Actual length used
 22254  	var re_blocksize Tsize_t       // Size of memory block
 22255  	var big32count Tsize_t         // 32-bit literals >= 0x80000000
 22256  	var parsed_size_needed Tsize_t // Needed for parsed pattern
 22257  
 22258  	// var firstcuflags Tuint32_t at bp+17776, 4
 22259  
 22260  	// var reqcuflags Tuint32_t at bp+17784, 4
 22261  	// Type of first/req code unit
 22262  	// var firstcu Tuint32_t at bp+17772, 4
 22263  
 22264  	// var reqcu Tuint32_t at bp+17780, 4
 22265  	// Value of first/req code unit
 22266  	var setflags Tuint32_t // NL and BSR set flags
 22267  
 22268  	var skipatstart Tuint32_t // When checking (*UTF) etc
 22269  	var limit_heap Tuint32_t
 22270  	var limit_match Tuint32_t // Unset match limits
 22271  	var limit_depth Tuint32_t
 22272  	var newline int32 // Unset; can be set by the pattern
 22273  	var bsr int32     // Unset; can be set by the pattern
 22274  	// var errorcode int32 at bp+17768, 4
 22275  	// Initialize to avoid compiler warn
 22276  	var regexrc int32 // Return from compile
 22277  
 22278  	var i Tuint32_t // Local loop counter
 22279  
 22280  	// Comments at the head of this file explain about these variables.
 22281  
 22282  	// var stack_groupinfo [256]Tuint32_t at bp+12000, 1024
 22283  
 22284  	// var stack_parsed_pattern [1024]Tuint32_t at bp+13344, 4096
 22285  
 22286  	// var named_groups [20]Tnamed_group_8 at bp+13024, 320
 22287  
 22288  	// The workspace is used in different ways in the different compiling phases.
 22289  	// It needs to be 16-bit aligned for the preliminary parsing scan.
 22290  
 22291  	// var c16workspace [3000]Tuint32_t at bp, 12000
 22292  
 22293  	var cworkspace uintptr
 22294  	var c Tuint32_t
 22295  	var pp Tuint32_t
 22296  	var p uintptr
 22297  	var heap_parsed_pattern uintptr
 22298  	// var loopcount int32 at bp+17748, 4
 22299  
 22300  	var ng uintptr
 22301  	var search_from TPCRE2_SPTR8
 22302  	var p1 int32
 22303  	var groupnumber int32
 22304  	var rcode uintptr
 22305  	var rgroup TPCRE2_SPTR8
 22306  	var ccount uint32
 22307  	var start int32
 22308  	// var rc [8]Trecurse_cache at bp+17800, 128
 22309  
 22310  	var temp uintptr
 22311  	var minminlength int32
 22312  	*(*TBOOL)(unsafe.Pointer(bp + 17744 /* has_lookbehind */)) = DFALSE
 22313  	re = uintptr(0)
 22314  	*(*Tsize_t)(unsafe.Pointer(bp + 17792 /* length */)) = uint64(1)
 22315  	big32count = uint64(0)
 22316  	setflags = Tuint32_t(0)
 22317  	limit_heap = 4294967295
 22318  	limit_match = 4294967295
 22319  	limit_depth = 4294967295
 22320  	newline = 0
 22321  	bsr = 0
 22322  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = 0
 22323  	cworkspace = bp /* c16workspace */
 22324  
 22325  	// -------------- Check arguments and set up the pattern -----------------
 22326  
 22327  	// There must be error code and offset pointers.
 22328  
 22329  	if !(errorptr == uintptr(0) || erroroffset == uintptr(0)) {
 22330  		goto __1
 22331  	}
 22332  	return uintptr(0)
 22333  __1:
 22334  	;
 22335  	*(*int32)(unsafe.Pointer(errorptr)) = ERR0
 22336  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = uint64(0)
 22337  
 22338  	// There must be a pattern!
 22339  
 22340  	if !(pattern == uintptr(0)) {
 22341  		goto __2
 22342  	}
 22343  
 22344  	*(*int32)(unsafe.Pointer(errorptr)) = ERR16
 22345  	return uintptr(0)
 22346  __2:
 22347  	;
 22348  
 22349  	// A NULL compile context means "use a default context"
 22350  
 22351  	if !(ccontext == uintptr(0)) {
 22352  		goto __3
 22353  	}
 22354  	ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 22355  __3:
 22356  	;
 22357  
 22358  	// PCRE2_MATCH_INVALID_UTF implies UTF
 22359  
 22360  	if !(options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 22361  		goto __4
 22362  	}
 22363  	options = options | DPCRE2_UTF
 22364  __4:
 22365  	;
 22366  
 22367  	// Check that all undefined public option bits are zero.
 22368  
 22369  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF|DPCRE2_ALLOW_EMPTY_CLASS|DPCRE2_ALT_BSUX|DPCRE2_ALT_CIRCUMFLEX|DPCRE2_ALT_VERBNAMES|DPCRE2_DOLLAR_ENDONLY|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MATCH_UNSET_BACKREF|DPCRE2_MULTILINE|DPCRE2_NEVER_BACKSLASH_C|DPCRE2_NEVER_UCP|DPCRE2_NEVER_UTF|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_NO_AUTO_POSSESS|DPCRE2_NO_DOTSTAR_ANCHOR|DPCRE2_UCP|DPCRE2_UNGREEDY) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES|DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL|DPCRE2_EXTRA_ESCAPED_CR_IS_LF|DPCRE2_EXTRA_ALT_BSUX|DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) != Tuint32_t(0)) {
 22370  		goto __5
 22371  	}
 22372  
 22373  	*(*int32)(unsafe.Pointer(errorptr)) = ERR17
 22374  	return uintptr(0)
 22375  __5:
 22376  	;
 22377  
 22378  	if !(options&DPCRE2_LITERAL != Tuint32_t(0) && (options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD) != Tuint32_t(0))) {
 22379  		goto __6
 22380  	}
 22381  
 22382  	*(*int32)(unsafe.Pointer(errorptr)) = ERR92
 22383  	return uintptr(0)
 22384  __6:
 22385  	;
 22386  
 22387  	// A zero-terminated pattern is indicated by the special length value
 22388  	// PCRE2_ZERO_TERMINATED. Check for an overlong pattern.
 22389  
 22390  	if !(libc.AssignInt32(&zero_terminated, libc.Bool32(patlen == libc.CplUint64(uint64(0)))) != 0) {
 22391  		goto __7
 22392  	}
 22393  	patlen = X_pcre2_strlen_8(tls, pattern)
 22394  __7:
 22395  	;
 22396  
 22397  	if !(patlen > (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length) {
 22398  		goto __8
 22399  	}
 22400  
 22401  	*(*int32)(unsafe.Pointer(errorptr)) = ERR88
 22402  	return uintptr(0)
 22403  __8:
 22404  	;
 22405  
 22406  	// From here on, all returns from this function should end up going via the
 22407  	// EXIT label.
 22408  
 22409  	// ------------ Initialize the "static" compile data --------------
 22410  
 22411  	if (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables != uintptr(0) {
 22412  		tables = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables
 22413  	} else {
 22414  		tables = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8))
 22415  	}
 22416  
 22417  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flcc = tables + uintptr(Dlcc_offset)     // Individual
 22418  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ffcc = tables + uintptr(Dfcc_offset)     //   character
 22419  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcbits = tables + uintptr(Dcbits_offset) //      tables
 22420  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fctypes = tables + uintptr(Dcbits_offset+Dcbit_length)
 22421  
 22422  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22423  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount = Tuint32_t(0)
 22424  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcx = ccontext
 22425  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fdupnames = DFALSE
 22426  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fend_pattern = pattern + uintptr(patlen)
 22427  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0)
 22428  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_flags = Tuint32_t(0)
 22429  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options = options
 22430  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = bp + 12000 /* &stack_groupinfo[0] */
 22431  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_recurse = DFALSE
 22432  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0)
 22433  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind = 0
 22434  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size = Tuint16_t(0)
 22435  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = uintptr(0)
 22436  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups = bp + 13024 /* &named_groups[0] */
 22437  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_group_list_size = Tuint32_t(DNAMED_GROUP_LIST_SIZE)
 22438  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found = Tuint16_t(0)
 22439  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0)
 22440  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22441  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = bp + 13344 /* &stack_parsed_pattern[0] */
 22442  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22443  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = cworkspace
 22444  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_pattern = pattern
 22445  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_workspace = cworkspace
 22446  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fworkspace_size = uint64(3000 * DLINK_SIZE)
 22447  
 22448  	// Maximum back reference and backref bitmap. The bitmap records up to 31 back
 22449  	// references to help in deciding whether (.*) can be treated as anchored or not.
 22450  
 22451  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref = Tuint32_t(0)
 22452  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbackref_map = Tuint32_t(0)
 22453  
 22454  	// Escape sequences \1 to \9 are always back references, but as they are only
 22455  	// two characters long, only two elements can be used in the parsed_pattern
 22456  	// vector. The first contains the reference, and we'd like to use the second to
 22457  	// record the offset in the pattern, so that forward references to non-existent
 22458  	// groups can be diagnosed later with an offset. However, on 64-bit systems,
 22459  	// PCRE2_SIZE won't fit. Instead, we have a vector of offsets for the first
 22460  	// occurrence of \1 to \9, indexed by the second parsed_pattern value. All other
 22461  	// references have enough space for the offset to be put into the parsed pattern.
 22462  
 22463  	i = Tuint32_t(0)
 22464  __9:
 22465  	if !(i < Tuint32_t(10)) {
 22466  		goto __11
 22467  	}
 22468  	*(*Tsize_t)(unsafe.Pointer(bp + 17440 + 88 + uintptr(i)*8)) = libc.CplUint64(uint64(0))
 22469  	goto __10
 22470  __10:
 22471  	i++
 22472  	goto __9
 22473  	goto __11
 22474  __11:
 22475  	;
 22476  
 22477  	// --------------- Start looking at the pattern ---------------
 22478  
 22479  	// Unless PCRE2_LITERAL is set, check for global one-time option settings at
 22480  	// the start of the pattern, and remember the offset to the actual regex. With
 22481  	// valgrind support, make the terminator of a zero-terminated pattern
 22482  	// inaccessible. This catches bugs that would otherwise only show up for
 22483  	// non-zero-terminated patterns.
 22484  
 22485  	ptr = pattern
 22486  	skipatstart = Tuint32_t(0)
 22487  
 22488  	if !(options&DPCRE2_LITERAL == Tuint32_t(0)) {
 22489  		goto __12
 22490  	}
 22491  
 22492  __13:
 22493  	if !(patlen-Tsize_t(skipatstart) >= uint64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart)))) == '\050' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart+Tuint32_t(1))))) == '\052') {
 22494  		goto __14
 22495  	}
 22496  
 22497  	i = Tuint32_t(0)
 22498  __15:
 22499  	if !(uint64(i) < uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) {
 22500  		goto __17
 22501  	}
 22502  
 22503  	p = uintptr(unsafe.Pointer(&pso_list)) + uintptr(i)*16
 22504  
 22505  	if !(patlen-Tsize_t(skipatstart)-uint64(2) >= Tsize_t((*Tpso)(unsafe.Pointer(p)).Flength) && X_pcre2_strncmp_c8_8(tls, ptr+uintptr(skipatstart)+uintptr(2), (*Tpso)(unsafe.Pointer(p)).Fname,
 22506  		uint64((*Tpso)(unsafe.Pointer(p)).Flength)) == 0) {
 22507  		goto __18
 22508  	}
 22509  
 22510  	skipatstart = skipatstart + Tuint32_t(int32((*Tpso)(unsafe.Pointer(p)).Flength)+2)
 22511  	switch int32((*Tpso)(unsafe.Pointer(p)).Ftype) {
 22512  	case PSO_OPT:
 22513  		goto __20
 22514  
 22515  	case PSO_FLG:
 22516  		goto __21
 22517  
 22518  	case PSO_NL:
 22519  		goto __22
 22520  
 22521  	case PSO_BSR:
 22522  		goto __23
 22523  
 22524  	case PSO_LIMM:
 22525  		goto __24
 22526  	case PSO_LIMD:
 22527  		goto __25
 22528  	case PSO_LIMH:
 22529  		goto __26
 22530  	}
 22531  	goto __19
 22532  
 22533  __20:
 22534  	*(*Tuint32_t)(unsafe.Pointer(bp + 17440 + 204)) |= (*Tpso)(unsafe.Pointer(p)).Fvalue
 22535  	goto __19
 22536  
 22537  __21:
 22538  	setflags = setflags | (*Tpso)(unsafe.Pointer(p)).Fvalue
 22539  	goto __19
 22540  
 22541  __22:
 22542  	newline = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22543  	setflags = setflags | Tuint32_t(DPCRE2_NL_SET)
 22544  	goto __19
 22545  
 22546  __23:
 22547  	bsr = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22548  	setflags = setflags | Tuint32_t(DPCRE2_BSR_SET)
 22549  	goto __19
 22550  
 22551  __24:
 22552  __25:
 22553  __26:
 22554  	c = Tuint32_t(0)
 22555  	pp = skipatstart
 22556  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22557  		goto __27
 22558  	}
 22559  
 22560  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60
 22561  	ptr += TPCRE2_SPTR8(pp)
 22562  	goto HAD_EARLY_ERROR
 22563  __27:
 22564  	;
 22565  __28:
 22566  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22567  		goto __29
 22568  	}
 22569  
 22570  	if !(c > 4294967295/uint32(10)-uint32(1)) {
 22571  		goto __30
 22572  	}
 22573  	goto __29
 22574  __30:
 22575  	; // Integer overflow
 22576  	c = c*Tuint32_t(10) + Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1)))))-'\060')
 22577  	goto __28
 22578  __29:
 22579  	;
 22580  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1))))) != '\051') {
 22581  		goto __31
 22582  	}
 22583  
 22584  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60
 22585  	ptr += TPCRE2_SPTR8(pp)
 22586  	goto HAD_EARLY_ERROR
 22587  __31:
 22588  	;
 22589  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMH) {
 22590  		goto __32
 22591  	}
 22592  	limit_heap = c
 22593  	goto __33
 22594  __32:
 22595  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMM) {
 22596  		goto __34
 22597  	}
 22598  	limit_match = c
 22599  	goto __35
 22600  __34:
 22601  	limit_depth = c
 22602  __35:
 22603  	;
 22604  __33:
 22605  	;
 22606  	skipatstart = skipatstart + (pp - skipatstart)
 22607  	goto __19
 22608  __19:
 22609  	;
 22610  	goto __17 // Out of the table scan loop
 22611  __18:
 22612  	;
 22613  	goto __16
 22614  __16:
 22615  	i++
 22616  	goto __15
 22617  	goto __17
 22618  __17:
 22619  	;
 22620  	if !(uint64(i) >= uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) {
 22621  		goto __36
 22622  	}
 22623  	goto __14
 22624  __36:
 22625  	; // Out of pso loop
 22626  	goto __13
 22627  __14:
 22628  	;
 22629  __12:
 22630  	;
 22631  
 22632  	// End of pattern-start options; advance to start of real regex.
 22633  
 22634  	ptr += TPCRE2_SPTR8(skipatstart)
 22635  
 22636  	// Can't support UTF or UCP if PCRE2 was built without Unicode support.
 22637  
 22638  	// Check UTF. We have the original options in 'options', with that value as
 22639  	// modified by (*UTF) etc in cb->external_options. The extra option
 22640  	// PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not permitted in UTF-16 mode because the
 22641  	// surrogate code points cannot be represented in UTF-16.
 22642  
 22643  	utf = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
 22644  	if !(utf != 0) {
 22645  		goto __37
 22646  	}
 22647  
 22648  	if !(options&DPCRE2_NEVER_UTF != Tuint32_t(0)) {
 22649  		goto __38
 22650  	}
 22651  
 22652  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR74
 22653  	goto HAD_EARLY_ERROR
 22654  __38:
 22655  	;
 22656  	if !(options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) && libc.AssignPtrInt32(bp+17768, X_pcre2_valid_utf_8(tls, pattern, patlen, erroroffset)) != 0) {
 22657  		goto __39
 22658  	}
 22659  	goto HAD_ERROR
 22660  __39:
 22661  	; // Offset was set by valid_utf()
 22662  
 22663  __37:
 22664  	;
 22665  
 22666  	// Check UCP lockout.
 22667  
 22668  	ucp = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
 22669  	if !(ucp != 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_NEVER_UCP != Tuint32_t(0)) {
 22670  		goto __40
 22671  	}
 22672  
 22673  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR75
 22674  	goto HAD_EARLY_ERROR
 22675  __40:
 22676  	;
 22677  
 22678  	// Process the BSR setting.
 22679  
 22680  	if !(bsr == 0) {
 22681  		goto __41
 22682  	}
 22683  	bsr = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention)
 22684  __41:
 22685  	;
 22686  
 22687  	// Process the newline setting.
 22688  
 22689  	if !(newline == 0) {
 22690  		goto __42
 22691  	}
 22692  	newline = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention)
 22693  __42:
 22694  	;
 22695  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 22696  	switch newline {
 22697  	case DPCRE2_NEWLINE_CR:
 22698  		goto __44
 22699  
 22700  	case DPCRE2_NEWLINE_LF:
 22701  		goto __45
 22702  
 22703  	case DPCRE2_NEWLINE_NUL:
 22704  		goto __46
 22705  
 22706  	case DPCRE2_NEWLINE_CRLF:
 22707  		goto __47
 22708  
 22709  	case DPCRE2_NEWLINE_ANY:
 22710  		goto __48
 22711  
 22712  	case DPCRE2_NEWLINE_ANYCRLF:
 22713  		goto __49
 22714  
 22715  	default:
 22716  		goto __50
 22717  	}
 22718  	goto __43
 22719  
 22720  __44:
 22721  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22722  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015')
 22723  	goto __43
 22724  
 22725  __45:
 22726  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22727  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\012')
 22728  	goto __43
 22729  
 22730  __46:
 22731  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22732  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8(0)
 22733  	goto __43
 22734  
 22735  __47:
 22736  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(2)
 22737  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015')
 22738  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272 + 1)) = TPCRE2_UCHAR8('\012')
 22739  	goto __43
 22740  
 22741  __48:
 22742  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 22743  	goto __43
 22744  
 22745  __49:
 22746  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 22747  	goto __43
 22748  
 22749  __50:
 22750  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR56
 22751  	goto HAD_EARLY_ERROR
 22752  __43:
 22753  	;
 22754  
 22755  	// Pre-scan the pattern to do two things: (1) Discover the named groups and
 22756  	// their numerical equivalents, so that this information is always available for
 22757  	// the remaining processing. (2) At the same time, parse the pattern and put a
 22758  	// processed version into the parsed_pattern vector. This has escapes interpreted
 22759  	// and comments removed (amongst other things).
 22760  	//
 22761  	// In all but one case, when PCRE2_AUTO_CALLOUT is not set, the number of unsigned
 22762  	// 32-bit ints in the parsed pattern is bounded by the length of the pattern plus
 22763  	// one (for the terminator) plus four if PCRE2_EXTRA_WORD or PCRE2_EXTRA_LINE is
 22764  	// set. The exceptional case is when running in 32-bit, non-UTF mode, when literal
 22765  	// characters greater than META_END (0x80000000) have to be coded as two units. In
 22766  	// this case, therefore, we scan the pattern to check for such values.
 22767  
 22768  	// Ensure that the parsed pattern buffer is big enough. When PCRE2_AUTO_CALLOUT
 22769  	// is set we have to assume a numerical callout (4 elements) for each character
 22770  	// plus one at the end. This is overkill, but memory is plentiful these days. For
 22771  	// many smaller patterns the vector on the stack (which was set up above) can be
 22772  	// used.
 22773  
 22774  	parsed_size_needed = patlen - Tsize_t(skipatstart) + big32count
 22775  
 22776  	if !((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&(DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_MATCH_LINE) != Tuint32_t(0)) {
 22777  		goto __51
 22778  	}
 22779  	parsed_size_needed = parsed_size_needed + uint64(4)
 22780  __51:
 22781  	;
 22782  
 22783  	if !(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0)) {
 22784  		goto __52
 22785  	}
 22786  	parsed_size_needed = (parsed_size_needed + uint64(1)) * uint64(5)
 22787  __52:
 22788  	;
 22789  
 22790  	if !(parsed_size_needed >= uint64(DPARSED_PATTERN_DEFAULT_SIZE)) {
 22791  		goto __53
 22792  	}
 22793  
 22794  	heap_parsed_pattern = (*struct {
 22795  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22796  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22797  		(parsed_size_needed+uint64(1))*Tsize_t(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22798  	if !(heap_parsed_pattern == uintptr(0)) {
 22799  		goto __54
 22800  	}
 22801  
 22802  	*(*int32)(unsafe.Pointer(errorptr)) = ERR21
 22803  	goto EXIT
 22804  __54:
 22805  	;
 22806  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = heap_parsed_pattern
 22807  __53:
 22808  	;
 22809  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern + uintptr(parsed_size_needed)*4 + uintptr(1)*4
 22810  
 22811  	// Do the parsing scan.
 22812  
 22813  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = parse_regex(tls, ptr, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17744, bp+17440)
 22814  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22815  		goto __55
 22816  	}
 22817  	goto HAD_CB_ERROR
 22818  __55:
 22819  	;
 22820  
 22821  	// Workspace is needed to remember information about numbered groups: whether a
 22822  	// group can match an empty string and what its fixed length is. This is done to
 22823  	// avoid the possibility of recursive references causing very long compile times
 22824  	// when checking these features. Unnumbered groups do not have this exposure since
 22825  	// they cannot be referenced. We use an indexed vector for this purpose. If there
 22826  	// are sufficiently few groups, the default vector on the stack, as set up above,
 22827  	// can be used. Otherwise we have to get/free a special vector. The vector must be
 22828  	// initialized to zero.
 22829  
 22830  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount >= Tuint32_t(DGROUPINFO_DEFAULT_SIZE)) {
 22831  		goto __56
 22832  	}
 22833  
 22834  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = (*struct {
 22835  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22836  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22837  		uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22838  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo == uintptr(0)) {
 22839  		goto __57
 22840  	}
 22841  
 22842  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21
 22843  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0)
 22844  	goto HAD_CB_ERROR
 22845  __57:
 22846  	;
 22847  __56:
 22848  	;
 22849  	libc.Xmemset(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, 0, uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))))
 22850  
 22851  	// If there were any lookbehinds, scan the parsed pattern to figure out their
 22852  	// lengths.
 22853  
 22854  	if !(*(*TBOOL)(unsafe.Pointer(bp + 17744)) != 0) {
 22855  		goto __58
 22856  	}
 22857  
 22858  	*(*int32)(unsafe.Pointer(bp + 17748 /* loopcount */)) = 0
 22859  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = check_lookbehinds(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, uintptr(0), uintptr(0), bp+17440, bp+17748)
 22860  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22861  		goto __59
 22862  	}
 22863  	goto HAD_CB_ERROR
 22864  __59:
 22865  	;
 22866  __58:
 22867  	;
 22868  
 22869  	// For debugging, there is a function that shows the parsed data vector.
 22870  
 22871  	// For debugging capturing information this code can be enabled.
 22872  
 22873  	// Pretend to compile the pattern while actually just accumulating the amount
 22874  	// of memory required in the 'length' variable. This behaviour is triggered by
 22875  	// passing a non-NULL final argument to compile_regex(). We pass a block of
 22876  	// workspace (cworkspace) for it to compile parts of the pattern into; the
 22877  	// compiled code is discarded when it is no longer needed, so hopefully this
 22878  	// workspace will never overflow, though there is a test for its doing so.
 22879  	//
 22880  	// On error, errorcode will be set non-zero, so we don't need to look at the
 22881  	// result of the function. The initial options have been put into the cb block,
 22882  	// but we still have to pass a separate options variable (the first argument)
 22883  	// because the options may change as the pattern is processed.
 22884  
 22885  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = patlen // For any subsequent errors that do not set it
 22886  	*(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern
 22887  	*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = cworkspace
 22888  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA
 22889  
 22890  	compile_regex(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17752, bp+17760, bp+17768, uint32(0), bp+17772,
 22891  		bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, bp+17792)
 22892  
 22893  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22894  		goto __60
 22895  	}
 22896  	goto HAD_CB_ERROR
 22897  __60:
 22898  	; // Offset is in cb.erroroffset
 22899  
 22900  	// This should be caught in compile_regex(), but just in case...
 22901  
 22902  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 17792)) > uint64(int32(1)<<16)) {
 22903  		goto __61
 22904  	}
 22905  
 22906  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR20
 22907  	goto HAD_CB_ERROR
 22908  __61:
 22909  	;
 22910  
 22911  	// Compute the size of, and then get and initialize, the data block for storing
 22912  	// the compiled pattern and names table. Integer overflow should no longer be
 22913  	// possible because nowadays we limit the maximum value of cb.names_found and
 22914  	// cb.name_entry_size.
 22915  
 22916  	re_blocksize = uint64(unsafe.Sizeof(Tpcre2_real_code_8{})) + (*(*Tsize_t)(unsafe.Pointer(bp + 17792))+Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)*Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fname_entry_size))*uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 22917  	re = (*struct {
 22918  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22919  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, re_blocksize, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22920  	if !(re == uintptr(0)) {
 22921  		goto __62
 22922  	}
 22923  
 22924  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21
 22925  	goto HAD_CB_ERROR
 22926  __62:
 22927  	;
 22928  
 22929  	// The compiler may put padding at the end of the pcre2_real_code structure in
 22930  	// order to round it up to a multiple of 4 or 8 bytes. This means that when a
 22931  	// compiled pattern is copied (for example, when serialized) undefined bytes are
 22932  	// read, and this annoys debuggers such as valgrind. To avoid this, we explicitly
 22933  	// write to the last 8 bytes of the structure before setting the fields.
 22934  
 22935  	libc.Xmemset(tls, re+uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))-uintptr(8), 0, uint64(8))
 22936  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl
 22937  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables = tables
 22938  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fexecutable_jit = uintptr(0)
 22939  	libc.Xmemset(tls, re+40, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 22940  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize = re_blocksize
 22941  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number = uint32(DMAGIC_NUMBER)
 22942  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options = options
 22943  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options
 22944  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options
 22945  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags = Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) | (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_flags | setflags
 22946  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap = limit_heap
 22947  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match = limit_match
 22948  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth = limit_depth
 22949  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(0)
 22950  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = Tuint32_t(0)
 22951  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention = Tuint16_t(bsr)
 22952  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention = Tuint16_t(newline)
 22953  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t(0)
 22954  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(0)
 22955  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t(0)
 22956  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t(0)
 22957  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size
 22958  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found
 22959  
 22960  	// The basic block is immediately followed by the name table, and the compiled
 22961  	// code follows after that.
 22962  
 22963  	codestart = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count))
 22964  
 22965  	// Update the compile data block for the actual compile. The starting points of
 22966  	// the name/number translation table and of the code are passed around in the
 22967  	// compile data block. The start/end pattern and initial options are already set
 22968  	// from the pre-compile phase, as is the name_entry_size field.
 22969  
 22970  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22971  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22972  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0)
 22973  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 22974  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = codestart
 22975  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22976  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_accept = DFALSE
 22977  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_pruneorskip = DFALSE
 22978  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0)
 22979  
 22980  	// If any named groups were found, create the name/number table from the list
 22981  	// created in the pre-pass.
 22982  
 22983  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found) > 0) {
 22984  		goto __63
 22985  	}
 22986  
 22987  	ng = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups
 22988  	i = Tuint32_t(0)
 22989  __64:
 22990  	if !(i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)) {
 22991  		goto __66
 22992  	}
 22993  	add_name_to_table(tls, bp+17440, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber, i)
 22994  	goto __65
 22995  __65:
 22996  	i++
 22997  	ng += 16
 22998  	goto __64
 22999  	goto __66
 23000  __66:
 23001  	;
 23002  __63:
 23003  	;
 23004  
 23005  	// Set up a starting, non-extracting bracket, then compile the expression. On
 23006  	// error, errorcode will be set non-zero, so we don't need to look at the result
 23007  	// of the function here.
 23008  
 23009  	*(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern
 23010  	*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = codestart
 23011  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA
 23012  	regexrc = compile_regex(tls, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options, bp+17752, bp+17760, bp+17768, uint32(0),
 23013  		bp+17772, bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, uintptr(0))
 23014  	if !(regexrc < 0) {
 23015  		goto __67
 23016  	}
 23017  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_MATCH_EMPTY)
 23018  __67:
 23019  	;
 23020  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount)
 23021  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref)
 23022  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind)
 23023  
 23024  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_accept != 0) {
 23025  		goto __68
 23026  	}
 23027  
 23028  	*(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */)) = Tuint32_t(0) // Must disable after (*ACCEPT)
 23029  	*(*Tuint32_t)(unsafe.Pointer(bp + 17784 /* reqcuflags */)) = DREQ_NONE
 23030  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_HASACCEPT) // Disables minimum length
 23031  __68:
 23032  	;
 23033  
 23034  	// Fill in the final opcode and check for disastrous overflow. If no overflow,
 23035  	// but the estimated length exceeds the really used length, adjust the value of
 23036  	// re->blocksize, and if valgrind support is configured, mark the extra allocated
 23037  	// memory as unaddressable, so that any out-of-bound reads can be detected.
 23038  
 23039  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)), 1))) = OP_END
 23040  	usedlength = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 17752))) - int64(codestart)) / 1)
 23041  	if !(usedlength > *(*Tsize_t)(unsafe.Pointer(bp + 17792))) {
 23042  		goto __69
 23043  	}
 23044  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR23
 23045  	goto __70
 23046  __69:
 23047  
 23048  	*(*Tsize_t)(unsafe.Pointer(re + 72)) -= (*(*Tsize_t)(unsafe.Pointer(bp + 17792)) - usedlength) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 23049  __70:
 23050  	;
 23051  
 23052  	// Scan the pattern for recursion/subroutine calls and convert the group
 23053  	// numbers into offsets. Maintain a small cache so that repeated groups containing
 23054  	// recursions are efficiently handled.
 23055  
 23056  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_recurse != 0) {
 23057  		goto __71
 23058  	}
 23059  
 23060  	ccount = uint32(0)
 23061  	start = DRSCAN_CACHE_SIZE
 23062  
 23063  	rcode = find_recurse(tls, codestart, utf)
 23064  __72:
 23065  	if !(rcode != uintptr(0)) {
 23066  		goto __74
 23067  	}
 23068  
 23069  	groupnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)))))
 23070  	if !(groupnumber == 0) {
 23071  		goto __75
 23072  	}
 23073  	rgroup = codestart
 23074  	goto __76
 23075  __75:
 23076  
 23077  	search_from = codestart
 23078  	rgroup = uintptr(0)
 23079  	i = Tuint32_t(0)
 23080  	p1 = start
 23081  __77:
 23082  	if !(i < ccount) {
 23083  		goto __79
 23084  	}
 23085  
 23086  	if !(groupnumber == (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) {
 23087  		goto __80
 23088  	}
 23089  
 23090  	rgroup = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup
 23091  	goto __79
 23092  __80:
 23093  	;
 23094  
 23095  	// Group n+1 must always start to the right of group n, so we can save
 23096  	//         search time below when the new group number is greater than any of the
 23097  	//         previously found groups.
 23098  
 23099  	if !(groupnumber > (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) {
 23100  		goto __81
 23101  	}
 23102  	search_from = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup
 23103  __81:
 23104  	;
 23105  	goto __78
 23106  __78:
 23107  	i++
 23108  	p1 = (p1 + 1) & 7
 23109  	goto __77
 23110  	goto __79
 23111  __79:
 23112  	;
 23113  
 23114  	if !(rgroup == uintptr(0)) {
 23115  		goto __82
 23116  	}
 23117  
 23118  	rgroup = X_pcre2_find_bracket_8(tls, search_from, utf, groupnumber)
 23119  	if !(rgroup == uintptr(0)) {
 23120  		goto __83
 23121  	}
 23122  
 23123  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR53
 23124  	goto __74
 23125  __83:
 23126  	;
 23127  	if !(libc.PreDecInt32(&start, 1) < 0) {
 23128  		goto __84
 23129  	}
 23130  	start = DRSCAN_CACHE_SIZE - 1
 23131  __84:
 23132  	;
 23133  	(*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroupnumber = groupnumber
 23134  	(*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroup = rgroup
 23135  	if !(ccount < uint32(DRSCAN_CACHE_SIZE)) {
 23136  		goto __85
 23137  	}
 23138  	ccount++
 23139  __85:
 23140  	;
 23141  __82:
 23142  	;
 23143  __76:
 23144  	;
 23145  
 23146  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 >> 8)
 23147  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 & int64(255))
 23148  	goto __73
 23149  __73:
 23150  	rcode = find_recurse(tls, rcode+uintptr(1)+uintptr(DLINK_SIZE), utf)
 23151  	goto __72
 23152  	goto __74
 23153  __74:
 23154  	;
 23155  __71:
 23156  	;
 23157  
 23158  	// In rare debugging situations we sometimes need to look at the compiled code
 23159  	// at this stage.
 23160  
 23161  	// Unless disabled, check whether any single character iterators can be
 23162  	// auto-possessified. The function overwrites the appropriate opcode values, so
 23163  	// the type of the pointer must be cast. NOTE: the intermediate variable "temp" is
 23164  	// used in this code because at least one compiler gives a warning about loss of
 23165  	// "const" attribute if the cast (PCRE2_UCHAR *)codestart is used directly in the
 23166  	// function call.
 23167  
 23168  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_AUTO_POSSESS == Tuint32_t(0)) {
 23169  		goto __86
 23170  	}
 23171  
 23172  	temp = codestart
 23173  	if !(X_pcre2_auto_possessify_8(tls, temp, bp+17440) != 0) {
 23174  		goto __87
 23175  	}
 23176  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR80
 23177  __87:
 23178  	;
 23179  __86:
 23180  	;
 23181  
 23182  	// Failed to compile, or error while post-processing.
 23183  
 23184  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 23185  		goto __88
 23186  	}
 23187  	goto HAD_CB_ERROR
 23188  __88:
 23189  	;
 23190  
 23191  	// Successful compile. If the anchored option was not passed, set it if
 23192  	// we can determine that the pattern is anchored by virtue of ^ characters or \A
 23193  	// or anything else, such as starting with non-atomic .* when DOTALL is set and
 23194  	// there are no occurrences of *PRUNE or *SKIP (though there is an option to
 23195  	// disable this case).
 23196  
 23197  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_anchored(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) {
 23198  		goto __89
 23199  	}
 23200  	*(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_ANCHORED
 23201  __89:
 23202  	;
 23203  
 23204  	// Set up the first code unit or startline flag, the required code unit, and
 23205  	// then study the pattern. This code need not be obeyed if PCRE2_NO_START_OPTIMIZE
 23206  	// is set, as the data it would create will not be used. Note that a first code
 23207  	// unit (but not the startline flag) is useful for anchored patterns because it
 23208  	// can still give a quick "no match" and also avoid searching for a last code
 23209  	// unit.
 23210  
 23211  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 23212  		goto __90
 23213  	}
 23214  
 23215  	minminlength = 0 // For minimal minlength from first/required CU
 23216  
 23217  	// If we do not have a first code unit, see if there is one that is asserted
 23218  	//   (these are not saved during the compile because they can cause conflicts with
 23219  	//   actual literals that follow).
 23220  
 23221  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE) {
 23222  		goto __91
 23223  	}
 23224  	*(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */)) = find_firstassertedcu(tls, codestart, bp+17776, uint32(0))
 23225  __91:
 23226  	;
 23227  
 23228  	// Save the data for a first code unit. The existence of one means the
 23229  	//   minimum length must be at least 1.
 23230  
 23231  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) < DREQ_NONE) {
 23232  		goto __92
 23233  	}
 23234  
 23235  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */))
 23236  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTSET)
 23237  	minminlength++
 23238  
 23239  	// Handle caseless first code units.
 23240  
 23241  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776))&DREQ_CASELESS != Tuint32_t(0)) {
 23242  		goto __94
 23243  	}
 23244  
 23245  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(255)) {
 23246  		goto __95
 23247  	}
 23248  
 23249  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) {
 23250  		goto __97
 23251  	}
 23252  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23253  __97:
 23254  	;
 23255  	goto __96
 23256  __95:
 23257  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) {
 23258  		goto __98
 23259  	}
 23260  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23261  __98:
 23262  	;
 23263  __96:
 23264  	;
 23265  __94:
 23266  	;
 23267  	goto __93
 23268  __92:
 23269  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_startline(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) {
 23270  		goto __99
 23271  	}
 23272  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_STARTLINE)
 23273  __99:
 23274  	;
 23275  __93:
 23276  	;
 23277  
 23278  	// Handle the "required code unit", if one is set. In the UTF case we can
 23279  	//   increment the minimum minimum length only if we are sure this really is a
 23280  	//   different character and not a non-starting code unit of the first character,
 23281  	//   because the minimum length count is in characters, not code units.
 23282  
 23283  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784)) < DREQ_NONE) {
 23284  		goto __100
 23285  	}
 23286  
 23287  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE || *(*Tuint32_t)(unsafe.Pointer(bp + 17772))&Tuint32_t(0x80) == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17780))&Tuint32_t(0x80) == Tuint32_t(0)) {
 23288  		goto __101
 23289  	} /* Req is ASCII */
 23290  
 23291  	minminlength++
 23292  __101:
 23293  	;
 23294  
 23295  	// In the case of an anchored pattern, set up the value only if it follows
 23296  	//     a variable length item in the pattern.
 23297  
 23298  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_VARY != Tuint32_t(0)) {
 23299  		goto __102
 23300  	}
 23301  
 23302  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */))
 23303  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTSET)
 23304  
 23305  	// Handle caseless required code units as for first code units (above).
 23306  
 23307  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_CASELESS != Tuint32_t(0)) {
 23308  		goto __103
 23309  	}
 23310  
 23311  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(255)) {
 23312  		goto __104
 23313  	}
 23314  
 23315  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) {
 23316  		goto __106
 23317  	}
 23318  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23319  __106:
 23320  	;
 23321  	goto __105
 23322  __104:
 23323  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) {
 23324  		goto __107
 23325  	}
 23326  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23327  __107:
 23328  	;
 23329  __105:
 23330  	;
 23331  __103:
 23332  	;
 23333  __102:
 23334  	;
 23335  __100:
 23336  	;
 23337  
 23338  	// Study the compiled pattern to set up information such as a bitmap of
 23339  	//   starting code units and a minimum matching length.
 23340  
 23341  	if !(X_pcre2_study_8(tls, re) != 0) {
 23342  		goto __108
 23343  	}
 23344  
 23345  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR31
 23346  	goto HAD_CB_ERROR
 23347  __108:
 23348  	;
 23349  
 23350  	// If study() set a bitmap of starting code units, it implies a minimum
 23351  	//   length of at least one.
 23352  
 23353  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) && minminlength == 0) {
 23354  		goto __109
 23355  	}
 23356  	minminlength = 1
 23357  __109:
 23358  	;
 23359  
 23360  	// If the minimum length set (or not set) by study() is less than the minimum
 23361  	//   implied by required code units, override it.
 23362  
 23363  	if !(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength) < minminlength) {
 23364  		goto __110
 23365  	}
 23366  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(minminlength)
 23367  __110:
 23368  	;
 23369  __90:
 23370  	; // End of start-of-match optimizations.
 23371  
 23372  	// Control ends up here in all cases. When running under valgrind, make a
 23373  	// pattern's terminating zero defined again. If memory was obtained for the parsed
 23374  	// version of the pattern, free it before returning. Also free the list of named
 23375  	// groups if a larger one had to be obtained, and likewise the group information
 23376  	// vector.
 23377  
 23378  EXIT:
 23379  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern != bp+13344) {
 23380  		goto __111
 23381  	}
 23382  	(*struct {
 23383  		f func(*libc.TLS, uintptr, uintptr)
 23384  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23385  __111:
 23386  	;
 23387  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 23388  		goto __112
 23389  	}
 23390  	(*struct {
 23391  		f func(*libc.TLS, uintptr, uintptr)
 23392  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fnamed_groups, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23393  __112:
 23394  	;
 23395  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo != bp+12000) {
 23396  		goto __113
 23397  	}
 23398  	(*struct {
 23399  		f func(*libc.TLS, uintptr, uintptr)
 23400  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23401  __113:
 23402  	;
 23403  	return re // Will be NULL after an error
 23404  
 23405  	// Errors discovered in parse_regex() set the offset value in the compile
 23406  	// block. Errors discovered before it is called must compute it from the ptr
 23407  	// value. After parse_regex() is called, the offset in the compile block is set to
 23408  	// the end of the pattern, but certain errors in compile_regex() may reset it if
 23409  	// an offset is available in the parsed pattern.
 23410  
 23411  HAD_CB_ERROR:
 23412  	ptr = pattern + uintptr((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ferroroffset)
 23413  
 23414  HAD_EARLY_ERROR:
 23415  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(ptr) - int64(pattern)) / 1)
 23416  
 23417  HAD_ERROR:
 23418  	*(*int32)(unsafe.Pointer(errorptr)) = *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */))
 23419  	Xpcre2_code_free_8(tls, re)
 23420  	re = uintptr(0)
 23421  	goto EXIT
 23422  	return uintptr(0)
 23423  }
 23424  
 23425  // End of pcre2_compile.c
 23426  
 23427  // ************************************************
 23428  //
 23429  //      Perl-Compatible Regular Expressions       *
 23430  //
 23431  
 23432  // PCRE is a library of functions to support regular expressions whose syntax
 23433  // and semantics are as close as possible to those of the Perl 5 language.
 23434  //
 23435  //                        Written by Philip Hazel
 23436  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 23437  //           New API code Copyright (c) 2016-2020 University of Cambridge
 23438  //
 23439  // -----------------------------------------------------------------------------
 23440  // Redistribution and use in source and binary forms, with or without
 23441  // modification, are permitted provided that the following conditions are met:
 23442  //
 23443  //     * Redistributions of source code must retain the above copyright notice,
 23444  //       this list of conditions and the following disclaimer.
 23445  //
 23446  //     * Redistributions in binary form must reproduce the above copyright
 23447  //       notice, this list of conditions and the following disclaimer in the
 23448  //       documentation and/or other materials provided with the distribution.
 23449  //
 23450  //     * Neither the name of the University of Cambridge nor the names of its
 23451  //       contributors may be used to endorse or promote products derived from
 23452  //       this software without specific prior written permission.
 23453  //
 23454  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 23455  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 23456  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23457  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 23458  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 23459  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 23460  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 23461  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 23462  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 23463  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 23464  // POSSIBILITY OF SUCH DAMAGE.
 23465  // -----------------------------------------------------------------------------
 23466  
 23467  // src/config.h.  Generated from config.h.in by configure.
 23468  // src/config.h.in.  Generated from configure.ac by autoheader.
 23469  
 23470  // PCRE2 is written in Standard C, but there are a few non-standard things it
 23471  // can cope with, allowing it to run on SunOS4 and other "close to standard"
 23472  // systems.
 23473  //
 23474  // In environments that support the GNU autotools, config.h.in is converted into
 23475  // config.h by the "configure" script. In environments that use CMake,
 23476  // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
 23477  // hand" without using "configure" or CMake, you should copy the distributed
 23478  // config.h.generic to config.h, and edit the macro definitions to be the way you
 23479  // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
 23480  // so that config.h is included at the start of every source.
 23481  //
 23482  // Alternatively, you can avoid editing by using -D on the compiler command line
 23483  // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
 23484  // but if you do, default values will be taken from config.h for non-boolean
 23485  // macros that are not defined on the command line.
 23486  //
 23487  // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be
 23488  // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All
 23489  // such macros are listed as a commented #undef in config.h.generic. Macros such
 23490  // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
 23491  // surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
 23492  //
 23493  // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
 23494  // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
 23495  // sure both macros are undefined; an emulation function will then be used.
 23496  
 23497  // By default, the \R escape sequence matches any Unicode line ending
 23498  //    character or sequence of characters. If BSR_ANYCRLF is defined (to any
 23499  //    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
 23500  //    The build-time default can be overridden by the user of PCRE2 at runtime.
 23501  //
 23502  // #undef BSR_ANYCRLF
 23503  
 23504  // Define to any value to disable the use of the z and t modifiers in
 23505  //    formatting settings such as %zu or %td (this is rarely needed).
 23506  // #undef DISABLE_PERCENT_ZT
 23507  
 23508  // If you are compiling for a system that uses EBCDIC instead of ASCII
 23509  //    character codes, define this macro to any value. When EBCDIC is set, PCRE2
 23510  //    assumes that all input strings are in EBCDIC. If you do not define this
 23511  //    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
 23512  //    is not possible to build a version of PCRE2 that supports both EBCDIC and
 23513  //    UTF-8/16/32.
 23514  // #undef EBCDIC
 23515  
 23516  // In an EBCDIC environment, define this macro to any value to arrange for the
 23517  //    NL character to be 0x25 instead of the default 0x15. NL plays the role that
 23518  //    LF does in an ASCII/Unicode environment.
 23519  // #undef EBCDIC_NL25
 23520  
 23521  // Define this if your compiler supports __attribute__((uninitialized))
 23522  // #undef HAVE_ATTRIBUTE_UNINITIALIZED
 23523  
 23524  // Define to 1 if you have the `bcopy' function.
 23525  
 23526  // Define to 1 if you have the <bzlib.h> header file.
 23527  
 23528  // Define to 1 if you have the <dirent.h> header file.
 23529  
 23530  // Define to 1 if you have the <dlfcn.h> header file.
 23531  
 23532  // Define to 1 if you have the <editline/readline.h> header file.
 23533  // #undef HAVE_EDITLINE_READLINE_H
 23534  
 23535  // Define to 1 if you have the <edit/readline/readline.h> header file.
 23536  // #undef HAVE_EDIT_READLINE_READLINE_H
 23537  
 23538  // Define to 1 if you have the <inttypes.h> header file.
 23539  
 23540  // Define to 1 if you have the <limits.h> header file.
 23541  
 23542  // Define to 1 if you have the `memfd_create' function.
 23543  
 23544  // Define to 1 if you have the `memmove' function.
 23545  
 23546  // Define to 1 if you have the <minix/config.h> header file.
 23547  // #undef HAVE_MINIX_CONFIG_H
 23548  
 23549  // Define to 1 if you have the `mkostemp' function.
 23550  
 23551  // Define if you have POSIX threads libraries and header files.
 23552  // #undef HAVE_PTHREAD
 23553  
 23554  // Have PTHREAD_PRIO_INHERIT.
 23555  // #undef HAVE_PTHREAD_PRIO_INHERIT
 23556  
 23557  // Define to 1 if you have the <readline.h> header file.
 23558  // #undef HAVE_READLINE_H
 23559  
 23560  // Define to 1 if you have the <readline/history.h> header file.
 23561  // #undef HAVE_READLINE_HISTORY_H
 23562  
 23563  // Define to 1 if you have the <readline/readline.h> header file.
 23564  // #undef HAVE_READLINE_READLINE_H
 23565  
 23566  // Define to 1 if you have the `realpath' function.
 23567  
 23568  // Define to 1 if you have the `secure_getenv' function.
 23569  
 23570  // Define to 1 if you have the <stdint.h> header file.
 23571  
 23572  // Define to 1 if you have the <stdio.h> header file.
 23573  
 23574  // Define to 1 if you have the <stdlib.h> header file.
 23575  
 23576  // Define to 1 if you have the `strerror' function.
 23577  
 23578  // Define to 1 if you have the <strings.h> header file.
 23579  
 23580  // Define to 1 if you have the <string.h> header file.
 23581  
 23582  // Define to 1 if you have the <sys/stat.h> header file.
 23583  
 23584  // Define to 1 if you have the <sys/types.h> header file.
 23585  
 23586  // Define to 1 if you have the <sys/wait.h> header file.
 23587  
 23588  // Define to 1 if you have the <unistd.h> header file.
 23589  
 23590  // Define to 1 if the compiler supports simple visibility declarations.
 23591  
 23592  // Define to 1 if you have the <wchar.h> header file.
 23593  
 23594  // Define to 1 if you have the <windows.h> header file.
 23595  // #undef HAVE_WINDOWS_H
 23596  
 23597  // Define to 1 if you have the <zlib.h> header file.
 23598  
 23599  // This limits the amount of memory that may be used while matching a pattern.
 23600  //    It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply
 23601  //    to JIT matching. The value is in kibibytes (units of 1024 bytes).
 23602  
 23603  // The value of LINK_SIZE determines the number of bytes used to store links
 23604  //    as offsets within the compiled regex. The default is 2, which allows for
 23605  //    compiled patterns up to 65535 code units long. This covers the vast
 23606  //    majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes
 23607  //    instead. This allows for longer patterns in extreme cases.
 23608  
 23609  // Define to the sub-directory where libtool stores uninstalled libraries.
 23610  
 23611  // The value of MATCH_LIMIT determines the default number of times the
 23612  //    pcre2_match() function can record a backtrack position during a single
 23613  //    matching attempt. The value is also used to limit a loop counter in
 23614  //    pcre2_dfa_match(). There is a runtime interface for setting a different
 23615  //    limit. The limit exists in order to catch runaway regular expressions that
 23616  //    take for ever to determine that they do not match. The default is set very
 23617  //    large so that it does not accidentally catch legitimate cases.
 23618  
 23619  // The above limit applies to all backtracks, whether or not they are nested.
 23620  //    In some environments it is desirable to limit the nesting of backtracking
 23621  //    (that is, the depth of tree that is searched) more strictly, in order to
 23622  //    restrict the maximum amount of heap memory that is used. The value of
 23623  //    MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it
 23624  //    must be less than the value of MATCH_LIMIT. The default is to use the same
 23625  //    value as MATCH_LIMIT. There is a runtime method for setting a different
 23626  //    limit. In the case of pcre2_dfa_match(), this limit controls the depth of
 23627  //    the internal nested function calls that are used for pattern recursions,
 23628  //    lookarounds, and atomic groups.
 23629  
 23630  // This limit is parameterized just in case anybody ever wants to change it.
 23631  //    Care must be taken if it is increased, because it guards against integer
 23632  //    overflow caused by enormously large patterns.
 23633  
 23634  // This limit is parameterized just in case anybody ever wants to change it.
 23635  //    Care must be taken if it is increased, because it guards against integer
 23636  //    overflow caused by enormously large patterns.
 23637  
 23638  // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.
 23639  // #undef NEVER_BACKSLASH_C
 23640  
 23641  // The value of NEWLINE_DEFAULT determines the default newline character
 23642  //    sequence. PCRE2 client programs can override this by selecting other values
 23643  //    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5
 23644  //    (ANYCRLF), and 6 (NUL).
 23645  
 23646  // Name of package
 23647  
 23648  // Define to the address where bug reports for this package should be sent.
 23649  
 23650  // Define to the full name of this package.
 23651  
 23652  // Define to the full name and version of this package.
 23653  
 23654  // Define to the one symbol short name of this package.
 23655  
 23656  // Define to the home page for this package.
 23657  
 23658  // Define to the version of this package.
 23659  
 23660  // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
 23661  //    parentheses (of any kind) in a pattern. This limits the amount of system
 23662  //    stack that is used while compiling a pattern.
 23663  
 23664  // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by
 23665  //    pcre2grep to hold parts of the file it is searching. The buffer will be
 23666  //    expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing
 23667  //    very long lines. The actual amount of memory used by pcre2grep is three
 23668  //    times this number, because it allows for the buffering of "before" and
 23669  //    "after" lines.
 23670  
 23671  // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer
 23672  //    used by pcre2grep to hold parts of the file it is searching. The actual
 23673  //    amount of memory used by pcre2grep is three times this number, because it
 23674  //    allows for the buffering of "before" and "after" lines.
 23675  
 23676  // to make a symbol visible
 23677  
 23678  // to make a symbol visible
 23679  
 23680  // Define to any value to include debugging code.
 23681  // #undef PCRE2_DEBUG
 23682  
 23683  // to make a symbol visible
 23684  
 23685  // If you are compiling for a system other than a Unix-like system or
 23686  //    Win32, and it needs some magic to be inserted before the definition
 23687  //    of a function that is exported by the library, define this macro to
 23688  //    contain the relevant magic. If you do not define this macro, a suitable
 23689  //     __declspec value is used for Windows systems; in other environments
 23690  //    "extern" is used for a C compiler and "extern C" for a C++ compiler.
 23691  //    This macro apears at the start of every exported function that is part
 23692  //    of the external API. It does not appear on functions that are "external"
 23693  //    in the C sense, but which are internal to the library.
 23694  
 23695  // Define to any value if linking statically (TODO: make nice with Libtool)
 23696  // #undef PCRE2_STATIC
 23697  
 23698  // Define to necessary symbol if this constant uses a non-standard name on
 23699  //    your system.
 23700  // #undef PTHREAD_CREATE_JOINABLE
 23701  
 23702  // Define to any non-zero number to enable support for SELinux compatible
 23703  //    executable memory allocator in JIT. Note that this will have no effect
 23704  //    unless SUPPORT_JIT is also defined.
 23705  // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR
 23706  
 23707  // Define to 1 if all of the C90 standard headers exist (not just the ones
 23708  //    required in a freestanding environment). This macro is provided for
 23709  //    backward compatibility; new code need not use it.
 23710  
 23711  // Define to any value to enable support for Just-In-Time compiling.
 23712  // #undef SUPPORT_JIT
 23713  
 23714  // Define to any value to allow pcre2grep to be linked with libbz2, so that it
 23715  //    is able to handle .bz2 files.
 23716  // #undef SUPPORT_LIBBZ2
 23717  
 23718  // Define to any value to allow pcre2test to be linked with libedit.
 23719  // #undef SUPPORT_LIBEDIT
 23720  
 23721  // Define to any value to allow pcre2test to be linked with libreadline.
 23722  // #undef SUPPORT_LIBREADLINE
 23723  
 23724  // Define to any value to allow pcre2grep to be linked with libz, so that it
 23725  //    is able to handle .gz files.
 23726  // #undef SUPPORT_LIBZ
 23727  
 23728  // Define to any value to enable callout script support in pcre2grep.
 23729  
 23730  // Define to any value to enable fork support in pcre2grep callout scripts.
 23731  //    This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined.
 23732  //
 23733  
 23734  // Define to any value to enable JIT support in pcre2grep. Note that this will
 23735  //    have no effect unless SUPPORT_JIT is also defined.
 23736  // #undef SUPPORT_PCRE2GREP_JIT
 23737  
 23738  // Define to any value to enable the 16 bit PCRE2 library.
 23739  // #undef SUPPORT_PCRE2_16
 23740  
 23741  // Define to any value to enable the 32 bit PCRE2 library.
 23742  // #undef SUPPORT_PCRE2_32
 23743  
 23744  // Define to any value to enable the 8 bit PCRE2 library.
 23745  
 23746  // Define to any value to enable support for Unicode and UTF encoding. This
 23747  //    will work even in an EBCDIC environment, but it is incompatible with the
 23748  //    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
 23749  //    ASCII/Unicode, but not both at once.
 23750  
 23751  // Define to any value for valgrind support to find invalid memory reads.
 23752  // #undef SUPPORT_VALGRIND
 23753  
 23754  // Enable extensions on AIX 3, Interix.
 23755  // Enable general extensions on macOS.
 23756  // Enable general extensions on Solaris.
 23757  // Enable GNU extensions on systems that have them.
 23758  // Enable X/Open compliant socket functions that do not require linking
 23759  //    with -lxnet on HP-UX 11.11.
 23760  // Identify the host operating system as Minix.
 23761  //    This macro does not affect the system headers' behavior.
 23762  //    A future release of Autoconf may stop defining this macro.
 23763  // # undef _MINIX
 23764  // Enable general extensions on NetBSD.
 23765  //    Enable NetBSD compatibility extensions on Minix.
 23766  // Enable OpenBSD compatibility extensions on NetBSD.
 23767  //    Oddly enough, this does nothing on OpenBSD.
 23768  // Define to 1 if needed for POSIX-compatible behavior.
 23769  // # undef _POSIX_SOURCE
 23770  // Define to 2 if needed for POSIX-compatible behavior.
 23771  // # undef _POSIX_1_SOURCE
 23772  // Enable POSIX-compatible threading on Solaris.
 23773  // Enable extensions specified by ISO/IEC TS 18661-5:2014.
 23774  // Enable extensions specified by ISO/IEC TS 18661-1:2014.
 23775  // Enable extensions specified by ISO/IEC TS 18661-2:2015.
 23776  // Enable extensions specified by ISO/IEC TS 18661-4:2015.
 23777  // Enable extensions specified by ISO/IEC TS 18661-3:2015.
 23778  // Enable extensions specified by ISO/IEC TR 24731-2:2010.
 23779  // Enable extensions specified by ISO/IEC 24747:2009.
 23780  // Enable extensions on HP NonStop.
 23781  // Enable X/Open extensions.  Define to 500 only if necessary
 23782  //    to make mbstate_t available.
 23783  // # undef _XOPEN_SOURCE
 23784  
 23785  // Version number of package
 23786  
 23787  // Define to empty if `const' does not conform to ANSI C.
 23788  // #undef const
 23789  
 23790  // Define to the type of a signed integer type of width exactly 64 bits if
 23791  //    such a type exists and the standard includes do not define it.
 23792  // #undef int64_t
 23793  
 23794  // Define to `unsigned int' if <sys/types.h> does not define.
 23795  // #undef size_t
 23796  
 23797  // Save the configured link size, which is in bytes. In 16-bit and 32-bit modes
 23798  // its value gets changed by pcre2_intmodedep.h (included by pcre2_internal.h) to
 23799  // be in code units.
 23800  
 23801  var configured_link_size int32 = DLINK_SIZE /* pcre2_config.c:49:12 */
 23802  
 23803  // This function is needed only when memmove() is not available.
 23804  
 23805  // End of pcre2_internal.h
 23806  
 23807  // These macros are the standard way of turning unquoted text into C strings.
 23808  // They allow macros like PCRE2_MAJOR to be defined without quotes, which is
 23809  // convenient for user programs that want to test their values.
 23810  
 23811  // ************************************************
 23812  //
 23813  // Return info about what features are configured *
 23814  //
 23815  
 23816  // If where is NULL, the length of memory required is returned.
 23817  //
 23818  // Arguments:
 23819  //   what             what information is required
 23820  //   where            where to put the information
 23821  //
 23822  // Returns:           0 if a numerical value is returned
 23823  //                    >= 0 if a string value
 23824  //                    PCRE2_ERROR_BADOPTION if "where" not recognized
 23825  //                      or JIT target requested when JIT not enabled
 23826  
 23827  func Xpcre2_config_8(tls *libc.TLS, what Tuint32_t, where uintptr) int32 { /* pcre2_config.c:78:1: */
 23828  	if where == uintptr(0) {
 23829  		switch what {
 23830  		default:
 23831  			return -34
 23832  			fallthrough
 23833  
 23834  		case Tuint32_t(DPCRE2_CONFIG_BSR):
 23835  			fallthrough
 23836  		case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23837  			fallthrough
 23838  		case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23839  			fallthrough
 23840  		case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23841  			fallthrough
 23842  		case Tuint32_t(DPCRE2_CONFIG_JIT):
 23843  			fallthrough
 23844  		case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23845  			fallthrough
 23846  		case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23847  			fallthrough
 23848  		case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23849  			fallthrough
 23850  		case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23851  			fallthrough
 23852  		case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23853  			fallthrough
 23854  		case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23855  			fallthrough // Obsolete
 23856  		case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23857  			fallthrough
 23858  		case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23859  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 23860  			fallthrough
 23861  
 23862  		// These are handled below
 23863  
 23864  		case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23865  			fallthrough
 23866  		case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23867  			fallthrough
 23868  		case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23869  			break
 23870  		}
 23871  	}
 23872  
 23873  	switch what {
 23874  	default:
 23875  		return -34
 23876  
 23877  	case Tuint32_t(DPCRE2_CONFIG_BSR):
 23878  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPCRE2_BSR_UNICODE)
 23879  		break
 23880  
 23881  	case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23882  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0 +
 23883  			1)
 23884  		break
 23885  
 23886  	case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23887  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23888  		break
 23889  
 23890  	case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23891  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DHEAP_LIMIT)
 23892  		break
 23893  
 23894  	case Tuint32_t(DPCRE2_CONFIG_JIT):
 23895  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23896  		break
 23897  
 23898  	case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23899  		return -34
 23900  
 23901  	case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23902  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(configured_link_size)
 23903  		break
 23904  
 23905  	case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23906  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23907  		break
 23908  
 23909  	case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23910  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DNEWLINE_DEFAULT)
 23911  		break
 23912  
 23913  	case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23914  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23915  		break
 23916  
 23917  	case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23918  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPARENS_NEST_LIMIT)
 23919  		break
 23920  
 23921  	// This is now obsolete. The stack is no longer used via recursion for
 23922  	//   handling backtracking in pcre2_match().
 23923  
 23924  	case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23925  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23926  		break
 23927  
 23928  	case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23929  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(Dcbits_offset + Dcbit_length + 256)
 23930  		break
 23931  
 23932  	case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23933  		{
 23934  			var v uintptr = X_pcre2_unicode_version_8
 23935  			return int32(uint64(1) + func() uint64 {
 23936  				if where == uintptr(0) {
 23937  					return libc.Xstrlen(tls, v)
 23938  				}
 23939  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23940  			}())
 23941  
 23942  		}
 23943  		break
 23944  
 23945  	case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23946  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(1)
 23947  		break
 23948  
 23949  	// The hackery in setting "v" below is to cope with the case when
 23950  	//   PCRE2_PRERELEASE is set to an empty string (which it is for real releases).
 23951  	//   If the second alternative is used in this case, it does not leave a space
 23952  	//   before the date. On the other hand, if all four macros are put into a single
 23953  	//   XSTRING when PCRE2_PRERELEASE is not empty, an unwanted space is inserted.
 23954  	//   There are problems using an "obvious" approach like this:
 23955  	//
 23956  	//      XSTRING(PCRE2_MAJOR) "." XSTRING(PCRE_MINOR)
 23957  	//      XSTRING(PCRE2_PRERELEASE) " " XSTRING(PCRE_DATE)
 23958  	//
 23959  	//   because, when PCRE2_PRERELEASE is empty, this leads to an attempted expansion
 23960  	//   of STRING(). The C standard states: "If (before argument substitution) any
 23961  	//   argument consists of no preprocessing tokens, the behavior is undefined." It
 23962  	//   turns out the gcc treats this case as a single empty string - which is what
 23963  	//   we really want - but Visual C grumbles about the lack of an argument for the
 23964  	//   macro. Unfortunately, both are within their rights. As there seems to be no
 23965  	//   way to test for a macro's value being empty at compile time, we have to
 23966  	//   resort to a runtime test.
 23967  
 23968  	case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23969  		{
 23970  			var v uintptr
 23971  			if int32(*(*int8)(unsafe.Pointer(ts + 630 + 1))) == 0 {
 23972  				v = ts + 632 /* "10.40 2022-04-14" */
 23973  			} else {
 23974  				v = ts + 649 /* "10.402022-04-14" */
 23975  			}
 23976  			return int32(uint64(1) + func() uint64 {
 23977  				if where == uintptr(0) {
 23978  					return libc.Xstrlen(tls, v)
 23979  				}
 23980  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23981  			}())
 23982  
 23983  		}
 23984  	}
 23985  
 23986  	return 0
 23987  }
 23988  
 23989  // End of pcre2_config.c
 23990  
 23991  // This function is needed only when memmove() is not available.
 23992  
 23993  // End of pcre2_internal.h
 23994  
 23995  // ************************************************
 23996  //
 23997  //          Default malloc/free functions         *
 23998  //
 23999  
 24000  // Ignore the "user data" argument in each case.
 24001  
 24002  func default_malloc(tls *libc.TLS, size Tsize_t, data uintptr) uintptr { /* pcre2_context.c:56:13: */
 24003  	_ = data
 24004  	return libc.Xmalloc(tls, size)
 24005  }
 24006  
 24007  func default_free(tls *libc.TLS, block uintptr, data uintptr) { /* pcre2_context.c:63:13: */
 24008  	_ = data
 24009  	libc.Xfree(tls, block)
 24010  }
 24011  
 24012  // ************************************************
 24013  //
 24014  //        Get a block and save memory control     *
 24015  //
 24016  
 24017  // This internal function is called to get a block of memory in which the
 24018  // memory control data is to be stored at the start for future use.
 24019  //
 24020  // Arguments:
 24021  //   size        amount of memory required
 24022  //   memctl      pointer to a memctl block or NULL
 24023  //
 24024  // Returns:      pointer to memory or NULL on failure
 24025  
 24026  func X_pcre2_memctl_malloc_8(tls *libc.TLS, size Tsize_t, memctl uintptr) uintptr { /* pcre2_context.c:85:13: */
 24027  	var newmemctl uintptr
 24028  	var yield uintptr
 24029  	if memctl == uintptr(0) {
 24030  		yield = libc.Xmalloc(tls, size)
 24031  	} else {
 24032  		yield = (*struct {
 24033  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24034  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, size, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 24035  	}
 24036  	if yield == uintptr(0) {
 24037  		return uintptr(0)
 24038  	}
 24039  	newmemctl = yield
 24040  	if memctl == uintptr(0) {
 24041  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmalloc = *(*uintptr)(unsafe.Pointer(&struct {
 24042  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24043  		}{default_malloc}))
 24044  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Ffree = *(*uintptr)(unsafe.Pointer(&struct {
 24045  			f func(*libc.TLS, uintptr, uintptr)
 24046  		}{default_free}))
 24047  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmemory_data = uintptr(0)
 24048  	} else {
 24049  		*(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)) = *(*Tpcre2_memctl)(unsafe.Pointer(memctl))
 24050  	}
 24051  	return yield
 24052  }
 24053  
 24054  // ************************************************
 24055  //
 24056  //          Create and initialize contexts        *
 24057  //
 24058  
 24059  // Initializing for compile and match contexts is done in separate, private
 24060  // functions so that these can be called from functions such as pcre2_compile()
 24061  // when an external context is not supplied. The initializing functions have an
 24062  // option to set up default memory management.
 24063  
 24064  func Xpcre2_general_context_create_8(tls *libc.TLS, private_malloc uintptr, private_free uintptr, memory_data uintptr) uintptr { /* pcre2_context.c:114:38: */
 24065  	var gcontext uintptr
 24066  	if private_malloc == uintptr(0) {
 24067  		private_malloc = *(*uintptr)(unsafe.Pointer(&struct {
 24068  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24069  		}{default_malloc}))
 24070  	}
 24071  	if private_free == uintptr(0) {
 24072  		private_free = *(*uintptr)(unsafe.Pointer(&struct {
 24073  			f func(*libc.TLS, uintptr, uintptr)
 24074  		}{default_free}))
 24075  	}
 24076  	gcontext = (*struct {
 24077  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24078  	})(unsafe.Pointer(&struct{ uintptr }{private_malloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})), memory_data)
 24079  	if gcontext == uintptr(0) {
 24080  		return uintptr(0)
 24081  	}
 24082  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc = private_malloc
 24083  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree = private_free
 24084  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data = memory_data
 24085  	return gcontext
 24086  }
 24087  
 24088  // A default compile context is set up to save having to initialize at run time
 24089  // when no context is supplied to the compile function.
 24090  
 24091  var X_pcre2_default_compile_context_8 = Tpcre2_compile_context_8{
 24092  	Fmemctl:             Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Stack guard data
 24093  	Ftables:             0,                                   // Character tables
 24094  	Fmax_pattern_length: libc.CplUint64(uint64(0)),
 24095  	Fbsr_convention:     Tuint16_t(DPCRE2_BSR_UNICODE), // Backslash R default
 24096  	Fnewline_convention: Tuint16_t(DNEWLINE_DEFAULT),   // Newline convention
 24097  	Fparens_nest_limit:  Tuint32_t(DPARENS_NEST_LIMIT)} /* pcre2_context.c:133:29 */
 24098  
 24099  // Extra options
 24100  
 24101  // The create function copies the default into the new memory, but must
 24102  // override the default memory handling functions if a gcontext was provided.
 24103  
 24104  func Xpcre2_compile_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:147:38: */
 24105  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24106  		uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), gcontext)
 24107  	if ccontext == uintptr(0) {
 24108  		return uintptr(0)
 24109  	}
 24110  	*(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_compile_context_8
 24111  	if gcontext != uintptr(0) {
 24112  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24113  	}
 24114  	return ccontext
 24115  }
 24116  
 24117  // A default match context is set up to save having to initialize at run time
 24118  // when no context is supplied to a match function.
 24119  
 24120  var X_pcre2_default_match_context_8 = Tpcre2_match_context_8{
 24121  	Fmemctl:       Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Substitute callout data
 24122  	Foffset_limit: libc.CplUint64(uint64(0)),
 24123  	Fheap_limit:   Tuint32_t(DHEAP_LIMIT),
 24124  	Fmatch_limit:  Tuint32_t(DMATCH_LIMIT),
 24125  	Fdepth_limit:  Tuint32_t(DMATCH_LIMIT)} /* pcre2_context.c:163:27 */
 24126  
 24127  // The create function copies the default into the new memory, but must
 24128  // override the default memory handling functions if a gcontext was provided.
 24129  
 24130  func Xpcre2_match_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:181:36: */
 24131  	var mcontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24132  		uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})), gcontext)
 24133  	if mcontext == uintptr(0) {
 24134  		return uintptr(0)
 24135  	}
 24136  	*(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)) = X_pcre2_default_match_context_8
 24137  	if gcontext != uintptr(0) {
 24138  		*(*Tpcre2_memctl)(unsafe.Pointer(mcontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24139  	}
 24140  	return mcontext
 24141  }
 24142  
 24143  // A default convert context is set up to save having to initialize at run time
 24144  // when no context is supplied to the convert function.
 24145  
 24146  var X_pcre2_default_convert_context_8 = Tpcre2_convert_context_8{
 24147  	Fmemctl:         Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Default memory handling
 24148  	Fglob_separator: Tuint32_t('\057'),                   // Default path separator
 24149  	Fglob_escape:    Tuint32_t('\134'),                   // Default escape character
 24150  } /* pcre2_context.c:197:29 */
 24151  
 24152  // The create function copies the default into the new memory, but must
 24153  // override the default memory handling functions if a gcontext was provided.
 24154  
 24155  func Xpcre2_convert_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:211:38: */
 24156  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24157  		uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), gcontext)
 24158  	if ccontext == uintptr(0) {
 24159  		return uintptr(0)
 24160  	}
 24161  	*(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_convert_context_8
 24162  	if gcontext != uintptr(0) {
 24163  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24164  	}
 24165  	return ccontext
 24166  }
 24167  
 24168  // ************************************************
 24169  //
 24170  //              Context copy functions            *
 24171  //
 24172  
 24173  func Xpcre2_general_context_copy_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:228:38: */
 24174  	var new uintptr = (*struct {
 24175  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24176  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})),
 24177  		(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 24178  	if new == uintptr(0) {
 24179  		return uintptr(0)
 24180  	}
 24181  	libc.Xmemcpy(tls, new, gcontext, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})))
 24182  	return new
 24183  }
 24184  
 24185  func Xpcre2_compile_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:240:38: */
 24186  	var new uintptr = (*struct {
 24187  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24188  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})),
 24189  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24190  	if new == uintptr(0) {
 24191  		return uintptr(0)
 24192  	}
 24193  	libc.Xmemcpy(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})))
 24194  	return new
 24195  }
 24196  
 24197  func Xpcre2_match_context_copy_8(tls *libc.TLS, mcontext uintptr) uintptr { /* pcre2_context.c:252:36: */
 24198  	var new uintptr = (*struct {
 24199  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24200  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})),
 24201  		(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data)
 24202  	if new == uintptr(0) {
 24203  		return uintptr(0)
 24204  	}
 24205  	libc.Xmemcpy(tls, new, mcontext, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})))
 24206  	return new
 24207  }
 24208  
 24209  func Xpcre2_convert_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:265:38: */
 24210  	var new uintptr = (*struct {
 24211  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24212  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})),
 24213  		(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24214  	if new == uintptr(0) {
 24215  		return uintptr(0)
 24216  	}
 24217  	libc.Xmemcpy(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})))
 24218  	return new
 24219  }
 24220  
 24221  // ************************************************
 24222  //
 24223  //              Context free functions            *
 24224  //
 24225  
 24226  func Xpcre2_general_context_free_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_context.c:282:1: */
 24227  	if gcontext != uintptr(0) {
 24228  		(*struct {
 24229  			f func(*libc.TLS, uintptr, uintptr)
 24230  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, gcontext, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 24231  	}
 24232  }
 24233  
 24234  func Xpcre2_compile_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:290:1: */
 24235  	if ccontext != uintptr(0) {
 24236  		(*struct {
 24237  			f func(*libc.TLS, uintptr, uintptr)
 24238  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24239  	}
 24240  }
 24241  
 24242  func Xpcre2_match_context_free_8(tls *libc.TLS, mcontext uintptr) { /* pcre2_context.c:298:1: */
 24243  	if mcontext != uintptr(0) {
 24244  		(*struct {
 24245  			f func(*libc.TLS, uintptr, uintptr)
 24246  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Ffree})).f(tls, mcontext, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data)
 24247  	}
 24248  }
 24249  
 24250  func Xpcre2_convert_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:306:1: */
 24251  	if ccontext != uintptr(0) {
 24252  		(*struct {
 24253  			f func(*libc.TLS, uintptr, uintptr)
 24254  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24255  	}
 24256  }
 24257  
 24258  // ************************************************
 24259  //
 24260  //             Set values in contexts             *
 24261  //
 24262  
 24263  // All these functions return 0 for success or PCRE2_ERROR_BADDATA if invalid
 24264  // data is given. Only some of the functions are able to test the validity of the
 24265  // data.
 24266  
 24267  // ------------ Compile context ------------
 24268  
 24269  func Xpcre2_set_character_tables_8(tls *libc.TLS, ccontext uintptr, tables uintptr) int32 { /* pcre2_context.c:325:1: */
 24270  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables = tables
 24271  	return 0
 24272  }
 24273  
 24274  func Xpcre2_set_bsr_8(tls *libc.TLS, ccontext uintptr, value Tuint32_t) int32 { /* pcre2_context.c:333:1: */
 24275  	switch value {
 24276  	case Tuint32_t(DPCRE2_BSR_ANYCRLF):
 24277  		fallthrough
 24278  	case Tuint32_t(DPCRE2_BSR_UNICODE):
 24279  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention = Tuint16_t(value)
 24280  		return 0
 24281  
 24282  	default:
 24283  		return -29
 24284  	}
 24285  	return int32(0)
 24286  }
 24287  
 24288  func Xpcre2_set_max_pattern_length_8(tls *libc.TLS, ccontext uintptr, length Tsize_t) int32 { /* pcre2_context.c:348:1: */
 24289  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length = length
 24290  	return 0
 24291  }
 24292  
 24293  func Xpcre2_set_newline_8(tls *libc.TLS, ccontext uintptr, newline Tuint32_t) int32 { /* pcre2_context.c:355:1: */
 24294  	switch newline {
 24295  	case Tuint32_t(DPCRE2_NEWLINE_CR):
 24296  		fallthrough
 24297  	case Tuint32_t(DPCRE2_NEWLINE_LF):
 24298  		fallthrough
 24299  	case Tuint32_t(DPCRE2_NEWLINE_CRLF):
 24300  		fallthrough
 24301  	case Tuint32_t(DPCRE2_NEWLINE_ANY):
 24302  		fallthrough
 24303  	case Tuint32_t(DPCRE2_NEWLINE_ANYCRLF):
 24304  		fallthrough
 24305  	case Tuint32_t(DPCRE2_NEWLINE_NUL):
 24306  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention = Tuint16_t(newline)
 24307  		return 0
 24308  
 24309  	default:
 24310  		return -29
 24311  	}
 24312  	return int32(0)
 24313  }
 24314  
 24315  func Xpcre2_set_parens_nest_limit_8(tls *libc.TLS, ccontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:374:1: */
 24316  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fparens_nest_limit = limit
 24317  	return 0
 24318  }
 24319  
 24320  func Xpcre2_set_compile_extra_options_8(tls *libc.TLS, ccontext uintptr, options Tuint32_t) int32 { /* pcre2_context.c:381:1: */
 24321  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options = options
 24322  	return 0
 24323  }
 24324  
 24325  func Xpcre2_set_compile_recursion_guard_8(tls *libc.TLS, ccontext uintptr, guard uintptr, user_data uintptr) int32 { /* pcre2_context.c:388:1: */
 24326  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard = guard
 24327  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard_data = user_data
 24328  	return 0
 24329  }
 24330  
 24331  // ------------ Match context ------------
 24332  
 24333  func Xpcre2_set_callout_8(tls *libc.TLS, mcontext uintptr, callout uintptr, callout_data uintptr) int32 { /* pcre2_context.c:400:1: */
 24334  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout = callout
 24335  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data = callout_data
 24336  	return 0
 24337  }
 24338  
 24339  func Xpcre2_set_substitute_callout_8(tls *libc.TLS, mcontext uintptr, substitute_callout uintptr, substitute_callout_data uintptr) int32 { /* pcre2_context.c:409:1: */
 24340  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout = substitute_callout
 24341  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data = substitute_callout_data
 24342  	return 0
 24343  }
 24344  
 24345  func Xpcre2_set_heap_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:419:1: */
 24346  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit = limit
 24347  	return 0
 24348  }
 24349  
 24350  func Xpcre2_set_match_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:426:1: */
 24351  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit = limit
 24352  	return 0
 24353  }
 24354  
 24355  func Xpcre2_set_depth_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:433:1: */
 24356  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit = limit
 24357  	return 0
 24358  }
 24359  
 24360  func Xpcre2_set_offset_limit_8(tls *libc.TLS, mcontext uintptr, limit Tsize_t) int32 { /* pcre2_context.c:440:1: */
 24361  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit = limit
 24362  	return 0
 24363  }
 24364  
 24365  // This function became obsolete at release 10.30. It is kept as a synonym for
 24366  // backwards compatibility.
 24367  
 24368  func Xpcre2_set_recursion_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:450:1: */
 24369  	return Xpcre2_set_depth_limit_8(tls, mcontext, limit)
 24370  }
 24371  
 24372  func Xpcre2_set_recursion_memory_management_8(tls *libc.TLS, mcontext uintptr, mymalloc uintptr, myfree uintptr, mydata uintptr) int32 { /* pcre2_context.c:456:1: */
 24373  	_ = mcontext
 24374  	_ = mymalloc
 24375  	_ = myfree
 24376  	_ = mydata
 24377  	return 0
 24378  }
 24379  
 24380  // ------------ Convert context ------------
 24381  
 24382  func Xpcre2_set_glob_separator_8(tls *libc.TLS, ccontext uintptr, separator Tuint32_t) int32 { /* pcre2_context.c:470:1: */
 24383  	if separator != Tuint32_t('\057') && separator != Tuint32_t('\134') && separator != Tuint32_t('\056') {
 24384  		return -29
 24385  	}
 24386  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator = separator
 24387  	return 0
 24388  }
 24389  
 24390  func Xpcre2_set_glob_escape_8(tls *libc.TLS, ccontext uintptr, escape Tuint32_t) int32 { /* pcre2_context.c:479:1: */
 24391  	if escape > Tuint32_t(255) || escape != Tuint32_t(0) && !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(escape))*2)))&int32(_ISpunct) != 0) {
 24392  		return -29
 24393  	}
 24394  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape = escape
 24395  	return 0
 24396  }
 24397  
 24398  // End of pcre2_context.c
 24399  
 24400  // Macro to add a character string to the output buffer, checking for overflow.
 24401  
 24402  // Literals that must be escaped: \ ? * + | . ^ $ { } [ ] ( )
 24403  
 24404  var pcre2_escaped_literals uintptr = ts + 665 /* "\\?*+|.^${}[]()" */ /* pcre2_convert.c:87:19 */
 24405  
 24406  // Recognized escaped metacharacters in POSIX basic patterns.
 24407  
 24408  var posix_meta_escapes uintptr = ts + 680 /* "(){}123456789" */ /* pcre2_convert.c:96:19 */
 24409  
 24410  // ************************************************
 24411  //
 24412  //           Convert a POSIX pattern              *
 24413  //
 24414  
 24415  // This function handles both basic and extended POSIX patterns.
 24416  //
 24417  // Arguments:
 24418  //   pattype        the pattern type
 24419  //   pattern        the pattern
 24420  //   plength        length in code units
 24421  //   utf            TRUE if UTF
 24422  //   use_buffer     where to put the output
 24423  //   use_length     length of use_buffer
 24424  //   bufflenptr     where to put the used length
 24425  //   dummyrun       TRUE if a dummy run
 24426  //   ccontext       the convert context
 24427  //
 24428  // Returns:         0 => success
 24429  //                 !0 => error code
 24430  
 24431  func convert_posix(tls *libc.TLS, pattype Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:125:1: */
 24432  	var s uintptr
 24433  	var posix TPCRE2_SPTR8
 24434  	var p uintptr
 24435  	var pp uintptr
 24436  	var endp uintptr // Allow for trailing zero
 24437  	var convlength Tsize_t
 24438  	var bracount Tuint32_t
 24439  	var posix_state Tuint32_t
 24440  	var lastspecial Tuint32_t
 24441  	var extended TBOOL
 24442  	var nextisliteral TBOOL
 24443  	var c Tuint32_t
 24444  	var sc Tuint32_t
 24445  	var clength int32
 24446  	posix = pattern
 24447  	p = use_buffer
 24448  	pp = p
 24449  	endp = p + uintptr(use_length) - uintptr(1)
 24450  	convlength = uint64(0)
 24451  	bracount = Tuint32_t(0)
 24452  	posix_state = POSIX_START_REGEX
 24453  	lastspecial = Tuint32_t(0)
 24454  	extended = libc.Bool32(pattype&DPCRE2_CONVERT_POSIX_EXTENDED != Tuint32_t(0))
 24455  	nextisliteral = DFALSE
 24456  
 24457  	_ = utf      // Not used when Unicode not supported
 24458  	_ = ccontext // Not currently used
 24459  
 24460  	// Initialize default for error offset as end of input.
 24461  
 24462  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = plength
 24463  	s = ts + 694
 24464  __1:
 24465  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24466  		goto __3
 24467  	}
 24468  	if !(p >= endp) {
 24469  		goto __4
 24470  	}
 24471  	return -48
 24472  __4:
 24473  	;
 24474  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24475  	goto __2
 24476  __2:
 24477  	s++
 24478  	goto __1
 24479  	goto __3
 24480  __3:
 24481  	;
 24482  
 24483  	// Now scan the input.
 24484  
 24485  __5:
 24486  	if !(plength > uint64(0)) {
 24487  		goto __6
 24488  	}
 24489  	clength = 1
 24490  
 24491  	// Add in the length of the last item, then, if in the dummy run, pull the
 24492  	//   pointer back to the start of the (temporary) buffer and then remember the
 24493  	//   start of the next item.
 24494  
 24495  	convlength = convlength + Tsize_t((int64(p)-int64(pp))/1)
 24496  	if !(dummyrun != 0) {
 24497  		goto __7
 24498  	}
 24499  	p = use_buffer
 24500  __7:
 24501  	;
 24502  	pp = p
 24503  
 24504  	// Pick up the next character
 24505  
 24506  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))
 24507  	if !(utf != 0 && c >= 0xc0) {
 24508  		goto __8
 24509  	}
 24510  	if !(c&0x20 == Tuint32_t(0)) {
 24511  		goto __9
 24512  	}
 24513  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f
 24514  	clength++
 24515  	goto __10
 24516  __9:
 24517  	if !(c&0x10 == Tuint32_t(0)) {
 24518  		goto __11
 24519  	}
 24520  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f
 24521  	clength = clength + 2
 24522  	goto __12
 24523  __11:
 24524  	if !(c&0x08 == Tuint32_t(0)) {
 24525  		goto __13
 24526  	}
 24527  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f
 24528  	clength = clength + 3
 24529  	goto __14
 24530  __13:
 24531  	if !(c&0x04 == Tuint32_t(0)) {
 24532  		goto __15
 24533  	}
 24534  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f
 24535  	clength = clength + 4
 24536  	goto __16
 24537  __15:
 24538  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 5)))&0x3f
 24539  	clength = clength + 5
 24540  __16:
 24541  	;
 24542  __14:
 24543  	;
 24544  __12:
 24545  	;
 24546  __10:
 24547  	;
 24548  __8:
 24549  	;
 24550  
 24551  	posix += TPCRE2_SPTR8(clength)
 24552  	plength = plength - Tsize_t(clength)
 24553  
 24554  	if nextisliteral != 0 {
 24555  		sc = uint32(0)
 24556  	} else {
 24557  		sc = c
 24558  	}
 24559  	nextisliteral = DFALSE
 24560  
 24561  	// Handle a character within a class.
 24562  
 24563  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 24564  		goto __17
 24565  	}
 24566  
 24567  	if !(c == Tuint32_t('\135')) {
 24568  		goto __19
 24569  	}
 24570  
 24571  	s = ts + 701
 24572  __21:
 24573  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24574  		goto __23
 24575  	}
 24576  	if !(p >= endp) {
 24577  		goto __24
 24578  	}
 24579  	return -48
 24580  __24:
 24581  	;
 24582  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24583  	goto __22
 24584  __22:
 24585  	s++
 24586  	goto __21
 24587  	goto __23
 24588  __23:
 24589  	;
 24590  
 24591  	posix_state = POSIX_NOT_BRACKET
 24592  	goto __20
 24593  __19:
 24594  
 24595  	switch posix_state {
 24596  	case POSIX_CLASS_STARTED:
 24597  		goto __26
 24598  	// Fall through
 24599  
 24600  	case POSIX_CLASS_NOT_STARTED:
 24601  		goto __27
 24602  
 24603  	case POSIX_CLASS_STARTING:
 24604  		goto __28
 24605  	}
 24606  	goto __25
 24607  
 24608  __26:
 24609  	if !(c <= Tuint32_t(127) && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISlower) != 0) {
 24610  		goto __29
 24611  	}
 24612  	goto __25
 24613  __29:
 24614  	; // Remain in started state
 24615  	posix_state = POSIX_CLASS_NOT_STARTED
 24616  	if !(c == Tuint32_t('\072') && plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24617  		goto __30
 24618  	}
 24619  
 24620  	s = ts + 703
 24621  __31:
 24622  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24623  		goto __33
 24624  	}
 24625  	if !(p >= endp) {
 24626  		goto __34
 24627  	}
 24628  	return -48
 24629  __34:
 24630  	;
 24631  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24632  	goto __32
 24633  __32:
 24634  	s++
 24635  	goto __31
 24636  	goto __33
 24637  __33:
 24638  	;
 24639  
 24640  	plength--
 24641  	posix++
 24642  	goto __5 // With next character after :]
 24643  __30:
 24644  	;
 24645  	// Fall through
 24646  
 24647  __27:
 24648  	if !(c == Tuint32_t('\133')) {
 24649  		goto __35
 24650  	}
 24651  	posix_state = POSIX_CLASS_STARTING
 24652  __35:
 24653  	;
 24654  	goto __25
 24655  
 24656  __28:
 24657  	if !(c == Tuint32_t('\072')) {
 24658  		goto __36
 24659  	}
 24660  	posix_state = POSIX_CLASS_STARTED
 24661  __36:
 24662  	;
 24663  	goto __25
 24664  __25:
 24665  	;
 24666  
 24667  	if !(c == Tuint32_t('\134')) {
 24668  		goto __37
 24669  	}
 24670  	s = ts + 706
 24671  __38:
 24672  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24673  		goto __40
 24674  	}
 24675  	if !(p >= endp) {
 24676  		goto __41
 24677  	}
 24678  	return -48
 24679  __41:
 24680  	;
 24681  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24682  	goto __39
 24683  __39:
 24684  	s++
 24685  	goto __38
 24686  	goto __40
 24687  __40:
 24688  	;
 24689  __37:
 24690  	;
 24691  
 24692  	if !(p+uintptr(clength) > endp) {
 24693  		goto __42
 24694  	}
 24695  	return -48
 24696  __42:
 24697  	;
 24698  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 24699  	p += uintptr(clength)
 24700  __20:
 24701  	;
 24702  	goto __18
 24703  __17:
 24704  	switch sc {
 24705  	case Tuint32_t('\133'):
 24706  		goto __44
 24707  
 24708  	case Tuint32_t('\134'):
 24709  		goto __45
 24710  
 24711  	case Tuint32_t('\051'):
 24712  		goto __46
 24713  
 24714  	case Tuint32_t('\050'):
 24715  		goto __47
 24716  	// Fall through
 24717  
 24718  	case Tuint32_t('\077'):
 24719  		goto __48
 24720  	case Tuint32_t('\053'):
 24721  		goto __49
 24722  	case Tuint32_t('\173'):
 24723  		goto __50
 24724  	case Tuint32_t('\175'):
 24725  		goto __51
 24726  	case Tuint32_t('\174'):
 24727  		goto __52
 24728  	// Fall through
 24729  
 24730  	case Tuint32_t('\056'):
 24731  		goto __53
 24732  	case Tuint32_t('\044'):
 24733  		goto __54
 24734  
 24735  	case Tuint32_t('\052'):
 24736  		goto __55 // Ignore second and subsequent asterisks
 24737  
 24738  	case Tuint32_t('\136'):
 24739  		goto __56
 24740  	// Fall through
 24741  
 24742  	default:
 24743  		goto __57
 24744  	}
 24745  	goto __43
 24746  
 24747  __44:
 24748  	s = ts + 708
 24749  __58:
 24750  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24751  		goto __60
 24752  	}
 24753  	if !(p >= endp) {
 24754  		goto __61
 24755  	}
 24756  	return -48
 24757  __61:
 24758  	;
 24759  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24760  	goto __59
 24761  __59:
 24762  	s++
 24763  	goto __58
 24764  	goto __60
 24765  __60:
 24766  	;
 24767  
 24768  	// Handle start of "normal" character classes
 24769  
 24770  	posix_state = POSIX_CLASS_NOT_STARTED
 24771  
 24772  	// Handle ^ and ] as first characters
 24773  
 24774  	if !(plength > uint64(0)) {
 24775  		goto __62
 24776  	}
 24777  
 24778  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\136') {
 24779  		goto __63
 24780  	}
 24781  
 24782  	posix++
 24783  	plength--
 24784  	s = ts + 710
 24785  __64:
 24786  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24787  		goto __66
 24788  	}
 24789  	if !(p >= endp) {
 24790  		goto __67
 24791  	}
 24792  	return -48
 24793  __67:
 24794  	;
 24795  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24796  	goto __65
 24797  __65:
 24798  	s++
 24799  	goto __64
 24800  	goto __66
 24801  __66:
 24802  	;
 24803  
 24804  __63:
 24805  	;
 24806  	if !(plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24807  		goto __68
 24808  	}
 24809  
 24810  	posix++
 24811  	plength--
 24812  	s = ts + 701
 24813  __69:
 24814  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24815  		goto __71
 24816  	}
 24817  	if !(p >= endp) {
 24818  		goto __72
 24819  	}
 24820  	return -48
 24821  __72:
 24822  	;
 24823  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24824  	goto __70
 24825  __70:
 24826  	s++
 24827  	goto __69
 24828  	goto __71
 24829  __71:
 24830  	;
 24831  
 24832  __68:
 24833  	;
 24834  __62:
 24835  	;
 24836  	goto __43
 24837  
 24838  __45:
 24839  	if !(plength == uint64(0)) {
 24840  		goto __73
 24841  	}
 24842  	return DPCRE2_ERROR_END_BACKSLASH
 24843  __73:
 24844  	;
 24845  	if !(extended != 0) {
 24846  		goto __74
 24847  	}
 24848  	nextisliteral = DTRUE
 24849  	goto __75
 24850  __74:
 24851  
 24852  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) < 127 && libc.Xstrchr(tls, posix_meta_escapes, int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))) != uintptr(0)) {
 24853  		goto __76
 24854  	}
 24855  
 24856  	if !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))))*2)))&int32(_ISdigit) != 0) {
 24857  		goto __78
 24858  	}
 24859  	s = ts + 706
 24860  __79:
 24861  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24862  		goto __81
 24863  	}
 24864  	if !(p >= endp) {
 24865  		goto __82
 24866  	}
 24867  	return -48
 24868  __82:
 24869  	;
 24870  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24871  	goto __80
 24872  __80:
 24873  	s++
 24874  	goto __79
 24875  	goto __81
 24876  __81:
 24877  	;
 24878  __78:
 24879  	;
 24880  
 24881  	if !(p+uintptr(1) > endp) {
 24882  		goto __83
 24883  	}
 24884  	return -48
 24885  __83:
 24886  	;
 24887  	lastspecial = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&p, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&posix, 1)))))
 24888  	plength--
 24889  	goto __77
 24890  __76:
 24891  	nextisliteral = DTRUE
 24892  __77:
 24893  	;
 24894  __75:
 24895  	;
 24896  	goto __43
 24897  
 24898  __46:
 24899  	if !(!(extended != 0) || bracount == Tuint32_t(0)) {
 24900  		goto __84
 24901  	}
 24902  	goto ESCAPE_LITERAL
 24903  __84:
 24904  	;
 24905  	bracount--
 24906  	goto COPY_SPECIAL
 24907  
 24908  __47:
 24909  	bracount++
 24910  	// Fall through
 24911  
 24912  __48:
 24913  __49:
 24914  __50:
 24915  __51:
 24916  __52:
 24917  	if !!(extended != 0) {
 24918  		goto __85
 24919  	}
 24920  	goto ESCAPE_LITERAL
 24921  __85:
 24922  	;
 24923  	// Fall through
 24924  
 24925  __53:
 24926  __54:
 24927  	posix_state = POSIX_NOT_BRACKET
 24928  COPY_SPECIAL:
 24929  	lastspecial = c
 24930  	if !(p+uintptr(1) > endp) {
 24931  		goto __86
 24932  	}
 24933  	return -48
 24934  __86:
 24935  	;
 24936  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(c)
 24937  	goto __43
 24938  
 24939  __55:
 24940  	if !(lastspecial != Tuint32_t('\052')) {
 24941  		goto __87
 24942  	}
 24943  
 24944  	if !(!(extended != 0) && (posix_state < POSIX_NOT_BRACKET || lastspecial == Tuint32_t('\050'))) {
 24945  		goto __88
 24946  	}
 24947  	goto ESCAPE_LITERAL
 24948  __88:
 24949  	;
 24950  	goto COPY_SPECIAL
 24951  __87:
 24952  	;
 24953  	goto __43 // Ignore second and subsequent asterisks
 24954  
 24955  __56:
 24956  	if !(extended != 0) {
 24957  		goto __89
 24958  	}
 24959  	goto COPY_SPECIAL
 24960  __89:
 24961  	;
 24962  	if !(posix_state == POSIX_START_REGEX || lastspecial == Tuint32_t('\050')) {
 24963  		goto __90
 24964  	}
 24965  
 24966  	posix_state = POSIX_ANCHORED
 24967  	goto COPY_SPECIAL
 24968  __90:
 24969  	;
 24970  	// Fall through
 24971  
 24972  __57:
 24973  	if !(c < Tuint32_t(128) && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0)) {
 24974  		goto __91
 24975  	}
 24976  
 24977  ESCAPE_LITERAL:
 24978  	s = ts + 706
 24979  __92:
 24980  	if !(int32(*(*int8)(unsafe.Pointer(s))) != 0) {
 24981  		goto __94
 24982  	}
 24983  	if !(p >= endp) {
 24984  		goto __95
 24985  	}
 24986  	return -48
 24987  __95:
 24988  	;
 24989  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(s)))
 24990  	goto __93
 24991  __93:
 24992  	s++
 24993  	goto __92
 24994  	goto __94
 24995  __94:
 24996  	;
 24997  
 24998  __91:
 24999  	;
 25000  	lastspecial = Tuint32_t(0xff) // Indicates nothing special
 25001  	if !(p+uintptr(clength) > endp) {
 25002  		goto __96
 25003  	}
 25004  	return -48
 25005  __96:
 25006  	;
 25007  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 25008  	p += uintptr(clength)
 25009  	posix_state = POSIX_NOT_BRACKET
 25010  	goto __43
 25011  __43:
 25012  	;
 25013  __18:
 25014  	;
 25015  	goto __5
 25016  __6:
 25017  	;
 25018  
 25019  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 25020  		goto __97
 25021  	}
 25022  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25023  __97:
 25024  	;
 25025  	convlength = convlength + Tsize_t((int64(p)-int64(pp))/1) // Final segment
 25026  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = convlength
 25027  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(0)
 25028  	return 0
 25029  }
 25030  
 25031  // ************************************************
 25032  //
 25033  //           Convert a glob pattern               *
 25034  //
 25035  
 25036  // Context for writing the output into a buffer.
 25037  
 25038  type Spcre2_output_context = struct {
 25039  	Foutput      uintptr
 25040  	Foutput_end  TPCRE2_SPTR8
 25041  	Foutput_size Tsize_t
 25042  	Fout_str     [8]Tuint8_t
 25043  } /* pcre2_convert.c:369:9 */
 25044  
 25045  // ************************************************
 25046  //
 25047  //           Convert a glob pattern               *
 25048  //
 25049  
 25050  // Context for writing the output into a buffer.
 25051  
 25052  type Tpcre2_output_context = Spcre2_output_context /* pcre2_convert.c:374:3 */
 25053  
 25054  // Write a character into the output.
 25055  //
 25056  // Arguments:
 25057  //   out            output context
 25058  //   chr            the next character
 25059  
 25060  func convert_glob_write(tls *libc.TLS, out uintptr, chr TPCRE2_UCHAR8) { /* pcre2_convert.c:385:1: */
 25061  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size++
 25062  
 25063  	if (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput < (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end {
 25064  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput, 1))) = chr
 25065  	}
 25066  }
 25067  
 25068  // Write a string into the output.
 25069  //
 25070  // Arguments:
 25071  //   out            output context
 25072  //   length         length of out->out_str
 25073  
 25074  func convert_glob_write_str(tls *libc.TLS, out uintptr, length Tsize_t) { /* pcre2_convert.c:402:1: */
 25075  	var out_str uintptr = out + 24 /* &.out_str */
 25076  	var output uintptr = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput
 25077  	var output_end TPCRE2_SPTR8 = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end
 25078  	var output_size Tsize_t = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size
 25079  
 25080  	for __ccgo := true; __ccgo; __ccgo = libc.PreDecUint64(&length, 1) != uint64(0) {
 25081  		output_size++
 25082  
 25083  		if output < output_end {
 25084  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&output, 1))) = *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&out_str, 1)))
 25085  		}
 25086  	}
 25087  
 25088  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput = output
 25089  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size = output_size
 25090  }
 25091  
 25092  // Prints the separator into the output.
 25093  //
 25094  // Arguments:
 25095  //   out            output context
 25096  //   separator      glob separator
 25097  //   with_escape    backslash is needed before separator
 25098  
 25099  func convert_glob_print_separator(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:432:1: */
 25100  	if with_escape != 0 {
 25101  		convert_glob_write(tls, out, uint8('\134'))
 25102  	}
 25103  
 25104  	convert_glob_write(tls, out, separator)
 25105  }
 25106  
 25107  // Prints a wildcard into the output.
 25108  //
 25109  // Arguments:
 25110  //   out            output context
 25111  //   separator      glob separator
 25112  //   with_escape    backslash is needed before separator
 25113  
 25114  func convert_glob_print_wildcard(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:451:1: */
 25115  	*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133')
 25116  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136')
 25117  	convert_glob_write_str(tls, out, uint64(2))
 25118  
 25119  	convert_glob_print_separator(tls, out, separator, with_escape)
 25120  
 25121  	convert_glob_write(tls, out, uint8('\135'))
 25122  }
 25123  
 25124  // Parse a posix class.
 25125  //
 25126  // Arguments:
 25127  //   from           starting point of scanning the range
 25128  //   pattern_end    end of pattern
 25129  //   out            output context
 25130  //
 25131  // Returns:  >0 => class index
 25132  //           0  => malformed class
 25133  
 25134  func convert_glob_parse_class(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr) int32 { /* pcre2_convert.c:476:1: */
 25135  	var start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) + uintptr(1)
 25136  	var pattern TPCRE2_SPTR8 = start
 25137  	var class_ptr uintptr
 25138  	var c TPCRE2_UCHAR8
 25139  	var class_index int32
 25140  
 25141  	for 1 != 0 {
 25142  		if pattern >= pattern_end {
 25143  			return 0
 25144  		}
 25145  
 25146  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))
 25147  
 25148  		if int32(c) < '\141' || int32(c) > '\172' {
 25149  			break
 25150  		}
 25151  	}
 25152  
 25153  	if int32(c) != '\072' || pattern >= pattern_end || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25154  		return 0
 25155  	}
 25156  
 25157  	class_ptr = posix_classes
 25158  	class_index = 1
 25159  
 25160  	for 1 != 0 {
 25161  		if int32(*(*int8)(unsafe.Pointer(class_ptr))) == 0 {
 25162  			return 0
 25163  		}
 25164  
 25165  		pattern = start
 25166  
 25167  		for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == int32(TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(class_ptr)))) {
 25168  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25169  				pattern += uintptr(2)
 25170  				start -= uintptr(2)
 25171  
 25172  				for __ccgo := true; __ccgo; __ccgo = start < pattern {
 25173  					convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&start, 1))))
 25174  				}
 25175  
 25176  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25177  				return class_index
 25178  			}
 25179  			pattern++
 25180  			class_ptr++
 25181  		}
 25182  
 25183  		for int32(*(*int8)(unsafe.Pointer(class_ptr))) != '\072' {
 25184  			class_ptr++
 25185  		}
 25186  		class_ptr++
 25187  		class_index++
 25188  	}
 25189  	return int32(0)
 25190  }
 25191  
 25192  var posix_classes uintptr = ts + 712 /* "alnum:alpha:asci..." */ /* pcre2_convert.c:479:19 */
 25193  
 25194  // Checks whether the character is in the class.
 25195  //
 25196  // Arguments:
 25197  //   class_index    class index
 25198  //   c              character
 25199  //
 25200  // Returns:   !0 => character is found in the class
 25201  //             0 => otherwise
 25202  
 25203  func convert_glob_char_in_class(tls *libc.TLS, class_index int32, c TPCRE2_UCHAR8) TBOOL { /* pcre2_convert.c:542:1: */
 25204  	switch class_index {
 25205  	case 1:
 25206  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalnum)
 25207  	case 2:
 25208  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalpha)
 25209  	case 3:
 25210  		return 1
 25211  	case 4:
 25212  		return libc.Bool32(int32(c) == '\011' || int32(c) == '\040')
 25213  	case 5:
 25214  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_IScntrl)
 25215  	case 6:
 25216  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISdigit)
 25217  	case 7:
 25218  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISgraph)
 25219  	case 8:
 25220  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISlower)
 25221  	case 9:
 25222  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISprint)
 25223  	case 10:
 25224  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISpunct)
 25225  	case 11:
 25226  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISspace)
 25227  	case 12:
 25228  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISupper)
 25229  	case 13:
 25230  		return libc.Bool32(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISalnum) != 0 || int32(c) == '\137')
 25231  	default:
 25232  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISxdigit)
 25233  	}
 25234  	return TBOOL(0)
 25235  }
 25236  
 25237  // Parse a range of characters.
 25238  //
 25239  // Arguments:
 25240  //   from           starting point of scanning the range
 25241  //   pattern_end    end of pattern
 25242  //   out            output context
 25243  //   separator      glob separator
 25244  //   with_escape    backslash is needed before separator
 25245  //
 25246  // Returns:         0 => success
 25247  //                 !0 => error code
 25248  
 25249  func convert_glob_parse_range(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr, utf TBOOL, separator TPCRE2_UCHAR8, with_escape TBOOL, escape TPCRE2_UCHAR8, no_wildsep TBOOL) int32 { /* pcre2_convert.c:577:1: */
 25250  	var is_negative TBOOL = DFALSE
 25251  	var separator_seen TBOOL = DFALSE
 25252  	var has_prev_c TBOOL
 25253  	var pattern TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25254  	var char_start TPCRE2_SPTR8 = uintptr(0)
 25255  	var c Tuint32_t
 25256  	var prev_c Tuint32_t
 25257  	var len int32
 25258  	var class_index int32
 25259  
 25260  	_ = utf // Avoid compiler warning.
 25261  
 25262  	if pattern >= pattern_end {
 25263  		*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25264  		return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25265  	}
 25266  
 25267  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\041' ||
 25268  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\136' {
 25269  		pattern++
 25270  
 25271  		if pattern >= pattern_end {
 25272  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25273  			return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25274  		}
 25275  
 25276  		is_negative = DTRUE
 25277  
 25278  		*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133')
 25279  		*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136')
 25280  		len = 2
 25281  
 25282  		if !(no_wildsep != 0) {
 25283  			if with_escape != 0 {
 25284  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = Tuint8_t('\134')
 25285  				len++
 25286  			}
 25287  			*(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = separator
 25288  		}
 25289  
 25290  		convert_glob_write_str(tls, out, uint64(len+1))
 25291  	} else {
 25292  		convert_glob_write(tls, out, uint8('\133'))
 25293  	}
 25294  
 25295  	has_prev_c = DFALSE
 25296  	prev_c = Tuint32_t(0)
 25297  
 25298  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\135' {
 25299  		*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\134')
 25300  		*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\135')
 25301  		convert_glob_write_str(tls, out, uint64(2))
 25302  		has_prev_c = DTRUE
 25303  		prev_c = Tuint32_t('\135')
 25304  		pattern++
 25305  	}
 25306  
 25307  	for pattern < pattern_end {
 25308  		char_start = pattern
 25309  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25310  		if utf != 0 && c >= 0xc0 {
 25311  			if c&0x20 == Tuint32_t(0) {
 25312  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25313  			} else if c&0x10 == Tuint32_t(0) {
 25314  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25315  				pattern += uintptr(2)
 25316  			} else if c&0x08 == Tuint32_t(0) {
 25317  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25318  				pattern += uintptr(3)
 25319  			} else if c&0x04 == Tuint32_t(0) {
 25320  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25321  				pattern += uintptr(4)
 25322  			} else {
 25323  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25324  				pattern += uintptr(5)
 25325  			}
 25326  		}
 25327  
 25328  		if c == Tuint32_t('\135') {
 25329  			convert_glob_write(tls, out, uint8(c))
 25330  
 25331  			if !(is_negative != 0) && !(no_wildsep != 0) && separator_seen != 0 {
 25332  				*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050')
 25333  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\077')
 25334  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\074')
 25335  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\041')
 25336  				convert_glob_write_str(tls, out, uint64(4))
 25337  
 25338  				convert_glob_print_separator(tls, out, separator, with_escape)
 25339  				convert_glob_write(tls, out, uint8('\051'))
 25340  			}
 25341  
 25342  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25343  			return 0
 25344  		}
 25345  
 25346  		if pattern >= pattern_end {
 25347  			break
 25348  		}
 25349  
 25350  		if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25351  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25352  			class_index = convert_glob_parse_class(tls, from, pattern_end, out)
 25353  
 25354  			if class_index != 0 {
 25355  				pattern = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25356  
 25357  				has_prev_c = DFALSE
 25358  				prev_c = Tuint32_t(0)
 25359  
 25360  				if !(is_negative != 0) && convert_glob_char_in_class(tls, class_index, separator) != 0 {
 25361  					separator_seen = DTRUE
 25362  				}
 25363  				continue
 25364  			}
 25365  		} else if c == Tuint32_t('\055') && has_prev_c != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25366  			convert_glob_write(tls, out, uint8('\055'))
 25367  
 25368  			char_start = pattern
 25369  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25370  			if utf != 0 && c >= 0xc0 {
 25371  				if c&0x20 == Tuint32_t(0) {
 25372  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25373  				} else if c&0x10 == Tuint32_t(0) {
 25374  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25375  					pattern += uintptr(2)
 25376  				} else if c&0x08 == Tuint32_t(0) {
 25377  					c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25378  					pattern += uintptr(3)
 25379  				} else if c&0x04 == Tuint32_t(0) {
 25380  					c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25381  					pattern += uintptr(4)
 25382  				} else {
 25383  					c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25384  					pattern += uintptr(5)
 25385  				}
 25386  			}
 25387  
 25388  			if pattern >= pattern_end {
 25389  				break
 25390  			}
 25391  
 25392  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25393  				char_start = pattern
 25394  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25395  				if utf != 0 && c >= 0xc0 {
 25396  					if c&0x20 == Tuint32_t(0) {
 25397  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25398  					} else if c&0x10 == Tuint32_t(0) {
 25399  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25400  						pattern += uintptr(2)
 25401  					} else if c&0x08 == Tuint32_t(0) {
 25402  						c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25403  						pattern += uintptr(3)
 25404  					} else if c&0x04 == Tuint32_t(0) {
 25405  						c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25406  						pattern += uintptr(4)
 25407  					} else {
 25408  						c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25409  						pattern += uintptr(5)
 25410  					}
 25411  				}
 25412  
 25413  			} else if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25414  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25415  				return -64
 25416  			}
 25417  
 25418  			if prev_c > c {
 25419  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25420  				return -64
 25421  			}
 25422  
 25423  			if prev_c < Tuint32_t(separator) && Tuint32_t(separator) < c {
 25424  				separator_seen = DTRUE
 25425  			}
 25426  
 25427  			has_prev_c = DFALSE
 25428  			prev_c = Tuint32_t(0)
 25429  		} else {
 25430  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25431  				char_start = pattern
 25432  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25433  				if utf != 0 && c >= 0xc0 {
 25434  					if c&0x20 == Tuint32_t(0) {
 25435  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25436  					} else if c&0x10 == Tuint32_t(0) {
 25437  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25438  						pattern += uintptr(2)
 25439  					} else if c&0x08 == Tuint32_t(0) {
 25440  						c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25441  						pattern += uintptr(3)
 25442  					} else if c&0x04 == Tuint32_t(0) {
 25443  						c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25444  						pattern += uintptr(4)
 25445  					} else {
 25446  						c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25447  						pattern += uintptr(5)
 25448  					}
 25449  				}
 25450  
 25451  				if pattern >= pattern_end {
 25452  					break
 25453  				}
 25454  			}
 25455  
 25456  			has_prev_c = DTRUE
 25457  			prev_c = c
 25458  		}
 25459  
 25460  		if c == Tuint32_t('\133') || c == Tuint32_t('\135') || c == Tuint32_t('\134') || c == Tuint32_t('\055') {
 25461  			convert_glob_write(tls, out, uint8('\134'))
 25462  		}
 25463  
 25464  		if c == Tuint32_t(separator) {
 25465  			separator_seen = DTRUE
 25466  		}
 25467  
 25468  		for __ccgo := true; __ccgo; __ccgo = char_start < pattern {
 25469  			convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&char_start, 1))))
 25470  		}
 25471  	}
 25472  
 25473  	*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25474  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25475  }
 25476  
 25477  // Prints a (*COMMIT) into the output.
 25478  //
 25479  // Arguments:
 25480  //   out            output context
 25481  
 25482  func convert_glob_print_commit(tls *libc.TLS, out uintptr) { /* pcre2_convert.c:754:1: */
 25483  	*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050')
 25484  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\052')
 25485  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\103')
 25486  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\117')
 25487  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 4)) = Tuint8_t('\115')
 25488  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 5)) = Tuint8_t('\115')
 25489  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 6)) = Tuint8_t('\111')
 25490  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 7)) = Tuint8_t('\124')
 25491  	convert_glob_write_str(tls, out, uint64(8))
 25492  	convert_glob_write(tls, out, uint8('\051'))
 25493  }
 25494  
 25495  // Bash glob converter.
 25496  //
 25497  // Arguments:
 25498  //   pattype        the pattern type
 25499  //   pattern        the pattern
 25500  //   plength        length in code units
 25501  //   utf            TRUE if UTF
 25502  //   use_buffer     where to put the output
 25503  //   use_length     length of use_buffer
 25504  //   bufflenptr     where to put the used length
 25505  //   dummyrun       TRUE if a dummy run
 25506  //   ccontext       the convert context
 25507  //
 25508  // Returns:         0 => success
 25509  //                 !0 => error code
 25510  
 25511  func convert_glob(tls *libc.TLS, options Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:787:1: */
 25512  	bp := tls.Alloc(40)
 25513  	defer tls.Free(40)
 25514  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) = pattern
 25515  
 25516  	// var out Tpcre2_output_context at bp, 32
 25517  
 25518  	var pattern_start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))
 25519  	var pattern_end TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + uintptr(plength)
 25520  	var separator TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator)
 25521  	var escape TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape)
 25522  	var c TPCRE2_UCHAR8
 25523  	var no_wildsep TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR != Tuint32_t(0))
 25524  	var no_starstar TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_STARSTAR != Tuint32_t(0))
 25525  	var in_atomic TBOOL = DFALSE
 25526  	var after_starstar TBOOL = DFALSE
 25527  	var no_slash_z TBOOL = DFALSE
 25528  	var with_escape TBOOL
 25529  	var is_start TBOOL
 25530  	var after_separator TBOOL
 25531  	var result int32 = 0
 25532  
 25533  	_ = utf // Avoid compiler warning.
 25534  
 25535  	if utf != 0 && (int32(separator) >= 128 || int32(escape) >= 128) {
 25536  		// Currently only ASCII characters are supported.
 25537  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0)
 25538  		return -64
 25539  	}
 25540  
 25541  	with_escape = libc.Bool32(libc.Xstrchr(tls, pcre2_escaped_literals, int32(separator)) != uintptr(0))
 25542  
 25543  	// Initialize default for error offset as end of input.
 25544  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput = use_buffer
 25545  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_end = use_buffer + uintptr(use_length)
 25546  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_size = uint64(0)
 25547  
 25548  	*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25549  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25550  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\163')
 25551  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\051')
 25552  	convert_glob_write_str(tls, bp, uint64(4))
 25553  
 25554  	is_start = DTRUE
 25555  
 25556  	if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25557  		if no_wildsep != 0 {
 25558  			is_start = DFALSE
 25559  		} else if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == '\052' {
 25560  			is_start = DFALSE
 25561  		}
 25562  	}
 25563  
 25564  	if is_start != 0 {
 25565  		*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134')
 25566  		*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\101')
 25567  		convert_glob_write_str(tls, bp, uint64(2))
 25568  	}
 25569  
 25570  	for *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end {
 25571  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1)))
 25572  
 25573  		if int32(c) == '\052' {
 25574  			is_start = libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) == pattern_start+uintptr(1))
 25575  
 25576  			if in_atomic != 0 {
 25577  				convert_glob_write(tls, bp, uint8('\051'))
 25578  				in_atomic = DFALSE
 25579  			}
 25580  
 25581  			if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25582  				after_separator = libc.Bool32(is_start != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-2)))) == int32(separator))
 25583  
 25584  				for __ccgo := true; __ccgo; __ccgo = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25585  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25586  				}
 25587  
 25588  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25589  					no_slash_z = DTRUE
 25590  					break
 25591  				}
 25592  
 25593  				after_starstar = DTRUE
 25594  
 25595  				if after_separator != 0 && int32(escape) != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == int32(escape) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == int32(separator) {
 25596  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25597  				}
 25598  
 25599  				if is_start != 0 {
 25600  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) {
 25601  						continue
 25602  					}
 25603  
 25604  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25605  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25606  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072')
 25607  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\134')
 25608  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\101')
 25609  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\174')
 25610  					convert_glob_write_str(tls, bp, uint64(6))
 25611  
 25612  					convert_glob_print_separator(tls, bp, separator, with_escape)
 25613  					convert_glob_write(tls, bp, uint8('\051'))
 25614  
 25615  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25616  					continue
 25617  				}
 25618  
 25619  				convert_glob_print_commit(tls, bp)
 25620  
 25621  				if !(after_separator != 0) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) {
 25622  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\056')
 25623  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\052')
 25624  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077')
 25625  					convert_glob_write_str(tls, bp, uint64(3))
 25626  					continue
 25627  				}
 25628  
 25629  				*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25630  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25631  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072')
 25632  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\056')
 25633  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\052')
 25634  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\077')
 25635  
 25636  				convert_glob_write_str(tls, bp, uint64(6))
 25637  
 25638  				convert_glob_print_separator(tls, bp, separator, with_escape)
 25639  
 25640  				*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\051')
 25641  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25642  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077')
 25643  				convert_glob_write_str(tls, bp, uint64(3))
 25644  
 25645  				*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25646  				continue
 25647  			}
 25648  
 25649  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25650  				for __ccgo1 := true; __ccgo1; __ccgo1 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25651  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25652  				}
 25653  			}
 25654  
 25655  			if no_wildsep != 0 {
 25656  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25657  					no_slash_z = DTRUE
 25658  					break
 25659  				}
 25660  
 25661  				// Start check must be after the end check.
 25662  				if is_start != 0 {
 25663  					continue
 25664  				}
 25665  			}
 25666  
 25667  			if !(is_start != 0) {
 25668  				if after_starstar != 0 {
 25669  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25670  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25671  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\076')
 25672  					convert_glob_write_str(tls, bp, uint64(3))
 25673  					in_atomic = DTRUE
 25674  				} else {
 25675  					convert_glob_print_commit(tls, bp)
 25676  				}
 25677  			}
 25678  
 25679  			if no_wildsep != 0 {
 25680  				convert_glob_write(tls, bp, uint8('\056'))
 25681  			} else {
 25682  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25683  			}
 25684  
 25685  			*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\052')
 25686  			*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25687  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25688  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\053')
 25689  			}
 25690  			convert_glob_write_str(tls, bp, uint64(2))
 25691  			continue
 25692  		}
 25693  
 25694  		if int32(c) == '\077' {
 25695  			if no_wildsep != 0 {
 25696  				convert_glob_write(tls, bp, uint8('\056'))
 25697  			} else {
 25698  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25699  			}
 25700  			continue
 25701  		}
 25702  
 25703  		if int32(c) == '\133' {
 25704  			result = convert_glob_parse_range(tls, bp+32, pattern_end,
 25705  				bp, utf, separator, with_escape, escape, no_wildsep)
 25706  			if result != 0 {
 25707  				break
 25708  			}
 25709  			continue
 25710  		}
 25711  
 25712  		if int32(escape) != 0 && int32(c) == int32(escape) {
 25713  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25714  				result = -64
 25715  				break
 25716  			}
 25717  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1)))
 25718  		}
 25719  
 25720  		if int32(c) < 128 && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0) {
 25721  			convert_glob_write(tls, bp, uint8('\134'))
 25722  		}
 25723  
 25724  		convert_glob_write(tls, bp, c)
 25725  	}
 25726  
 25727  	if result == 0 {
 25728  		if !(no_slash_z != 0) {
 25729  			*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134')
 25730  			*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\172')
 25731  			convert_glob_write_str(tls, bp, uint64(2))
 25732  		}
 25733  
 25734  		if in_atomic != 0 {
 25735  			convert_glob_write(tls, bp, uint8('\051'))
 25736  		}
 25737  
 25738  		convert_glob_write(tls, bp, uint8(0))
 25739  
 25740  		if !(dummyrun != 0) && (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size != Tsize_t((int64((*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput)-int64(use_buffer))/1) {
 25741  			result = -48
 25742  		}
 25743  	}
 25744  
 25745  	if result != 0 {
 25746  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))) - int64(pattern_start)) / 1)
 25747  		return result
 25748  	}
 25749  
 25750  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size - uint64(1)
 25751  	return 0
 25752  }
 25753  
 25754  // ************************************************
 25755  //
 25756  //                Convert pattern                 *
 25757  //
 25758  
 25759  // This is the external-facing function for converting other forms of pattern
 25760  // into PCRE2 regular expression patterns. On error, the bufflenptr argument is
 25761  // used to return an offset in the original pattern.
 25762  //
 25763  // Arguments:
 25764  //   pattern     the input pattern
 25765  //   plength     length of input, or PCRE2_ZERO_TERMINATED
 25766  //   options     options bits
 25767  //   buffptr     pointer to pointer to output buffer
 25768  //   bufflenptr  pointer to length of output buffer
 25769  //   ccontext    convert context or NULL
 25770  //
 25771  // Returns:      0 for success, else an error code (+ve or -ve)
 25772  
 25773  func Xpcre2_pattern_convert_8(tls *libc.TLS, pattern TPCRE2_SPTR8, plength Tsize_t, options Tuint32_t, buffptr uintptr, bufflenptr uintptr, ccontext uintptr) int32 { /* pcre2_convert.c:1057:1: */
 25774  	bp := tls.Alloc(112)
 25775  	defer tls.Free(112)
 25776  
 25777  	var i int32
 25778  	var rc int32
 25779  	// var dummy_buffer [100]TPCRE2_UCHAR8 at bp, 100
 25780  
 25781  	var use_buffer uintptr = bp /* dummy_buffer */
 25782  	var use_length Tsize_t = uint64(DDUMMY_BUFFER_SIZE)
 25783  	var utf TBOOL = libc.Bool32(options&DPCRE2_CONVERT_UTF != Tuint32_t(0))
 25784  	var pattype Tuint32_t = options & (DPCRE2_CONVERT_GLOB | DPCRE2_CONVERT_POSIX_BASIC | DPCRE2_CONVERT_POSIX_EXTENDED)
 25785  
 25786  	if pattern == uintptr(0) || bufflenptr == uintptr(0) {
 25787  		return -51
 25788  	}
 25789  
 25790  	if options&libc.CplUint32(DPCRE2_CONVERT_UTF|DPCRE2_CONVERT_NO_UTF_CHECK|DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR|DPCRE2_CONVERT_GLOB_NO_STARSTAR|(DPCRE2_CONVERT_GLOB|DPCRE2_CONVERT_POSIX_BASIC|DPCRE2_CONVERT_POSIX_EXTENDED)) != Tuint32_t(0) || pattype&(^pattype+Tuint32_t(1)) != pattype || pattype == Tuint32_t(0) {
 25791  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset
 25792  		return -34
 25793  	}
 25794  
 25795  	if plength == libc.CplUint64(uint64(0)) {
 25796  		plength = X_pcre2_strlen_8(tls, pattern)
 25797  	}
 25798  	if ccontext == uintptr(0) {
 25799  		ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8))
 25800  	}
 25801  
 25802  	// Check UTF if required.
 25803  
 25804  	if utf != 0 && options&DPCRE2_CONVERT_NO_UTF_CHECK == Tuint32_t(0) {
 25805  		// var erroroffset Tsize_t at bp+104, 8
 25806  
 25807  		rc = X_pcre2_valid_utf_8(tls, pattern, plength, bp+104)
 25808  		if rc != 0 {
 25809  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = *(*Tsize_t)(unsafe.Pointer(bp + 104 /* erroroffset */))
 25810  			return rc
 25811  		}
 25812  	}
 25813  
 25814  	// If buffptr is not NULL, and what it points to is not NULL, we are being
 25815  	// provided with a buffer and a length, so set them as the buffer to use.
 25816  
 25817  	if buffptr != uintptr(0) && *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) {
 25818  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25819  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr))
 25820  	}
 25821  
 25822  	// Call an individual converter, either just once (if a buffer was provided or
 25823  	// just the length is needed), or twice (if a memory allocation is required).
 25824  
 25825  	for i = 0; i < 2; i++ {
 25826  		var allocated uintptr
 25827  		var dummyrun TBOOL = libc.Bool32(buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) == uintptr(0))
 25828  
 25829  		switch pattype {
 25830  		case DPCRE2_CONVERT_GLOB:
 25831  			rc = convert_glob(tls, options&libc.CplUint32(DPCRE2_CONVERT_GLOB), pattern, plength, utf,
 25832  				use_buffer, use_length, bufflenptr, dummyrun, ccontext)
 25833  			break
 25834  
 25835  		case DPCRE2_CONVERT_POSIX_BASIC:
 25836  			fallthrough
 25837  		case DPCRE2_CONVERT_POSIX_EXTENDED:
 25838  			rc = convert_posix(tls, pattype, pattern, plength, utf, use_buffer, use_length,
 25839  				bufflenptr, dummyrun, ccontext)
 25840  			break
 25841  
 25842  		default:
 25843  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset
 25844  			return -44
 25845  		}
 25846  
 25847  		if rc != 0 || buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) { // Buffer was provided or allocated
 25848  			return rc
 25849  		}
 25850  
 25851  		// Allocate memory for the buffer, with hidden space for an allocator at
 25852  		//   the start. The next time round the loop runs the conversion for real.
 25853  
 25854  		allocated = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bufflenptr))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), ccontext)
 25855  		if allocated == uintptr(0) {
 25856  			return -48
 25857  		}
 25858  		*(*uintptr)(unsafe.Pointer(buffptr)) = allocated + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 25859  
 25860  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25861  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr)) + uint64(1)
 25862  	}
 25863  
 25864  	// Control should never get here.
 25865  
 25866  	return -44
 25867  }
 25868  
 25869  // ************************************************
 25870  //
 25871  //            Free converted pattern              *
 25872  //
 25873  
 25874  // This frees a converted pattern that was put in newly-allocated memory.
 25875  //
 25876  // Argument:   the converted pattern
 25877  // Returns:    nothing
 25878  
 25879  func Xpcre2_converted_pattern_free_8(tls *libc.TLS, converted uintptr) { /* pcre2_convert.c:1172:1: */
 25880  	if converted != uintptr(0) {
 25881  		var memctl uintptr = converted - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 25882  		(*struct {
 25883  			f func(*libc.TLS, uintptr, uintptr)
 25884  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 25885  	}
 25886  }
 25887  
 25888  // End of pcre2_convert.c
 25889  
 25890  // This function is needed only when memmove() is not available.
 25891  
 25892  // End of pcre2_internal.h
 25893  
 25894  // ************************************************
 25895  //
 25896  //      Code parameters and static tables         *
 25897  //
 25898  
 25899  // These are offsets that are used to turn the OP_TYPESTAR and friends opcodes
 25900  // into others, under special conditions. A gap of 20 between the blocks should be
 25901  // enough. The resulting opcodes don't have to be less than 256 because they are
 25902  // never stored, so we push them well clear of the normal opcodes.
 25903  
 25904  // This table identifies those opcodes that are followed immediately by a
 25905  // character that is to be tested in some way. This makes it possible to
 25906  // centralize the loading of these characters. In the case of Type * etc, the
 25907  // "character" is the opcode for \D, \d, \S, \s, \W, or \w, which will always be a
 25908  // small value. Non-zero values in the table are the offsets from the opcode where
 25909  // the character is to be found. ***NOTE*** If the start of this table is
 25910  // modified, the three tables that follow must also be modified.
 25911  
 25912  var coptable = [168]Tuint8_t{
 25913  	Tuint8_t(0),                                                     // End
 25914  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \A, \G, \K, \B, \b
 25915  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \D, \d, \S, \s, \W, \w
 25916  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Any, AllAny, Anybyte
 25917  	Tuint8_t(0), Tuint8_t(0), // \P, \p
 25918  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \R, \H, \h, \V, \v
 25919  	Tuint8_t(0),                                                                  // \X
 25920  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 25921  	Tuint8_t(1), // Char
 25922  	Tuint8_t(1), // Chari
 25923  	Tuint8_t(1), // not
 25924  	Tuint8_t(1), // noti
 25925  	// Positive single-char repeats
 25926  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 25927  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25928  	Tuint8_t(1 + DIMM2_SIZE),
 25929  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25930  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 25931  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25932  	Tuint8_t(1 + DIMM2_SIZE),
 25933  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25934  	// Negative single-char repeats - only for chars < 256
 25935  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 25936  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25937  	Tuint8_t(1 + DIMM2_SIZE),
 25938  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25939  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I
 25940  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25941  	Tuint8_t(1 + DIMM2_SIZE),
 25942  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25943  	// Positive type repeats
 25944  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 25945  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25946  	Tuint8_t(1 + DIMM2_SIZE),
 25947  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25948  	// Character class & ref repeats
 25949  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // *, *?, +, +?, ?, ??
 25950  	Tuint8_t(0), Tuint8_t(0), // CRRANGE, CRMINRANGE
 25951  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Possessive *+, ++, ?+, CRPOSRANGE
 25952  	Tuint8_t(0),                                                     // CLASS
 25953  	Tuint8_t(0),                                                     // NCLASS
 25954  	Tuint8_t(0),                                                     // XCLASS - variable length
 25955  	Tuint8_t(0),                                                     // REF
 25956  	Tuint8_t(0),                                                     // REFI
 25957  	Tuint8_t(0),                                                     // DNREF
 25958  	Tuint8_t(0),                                                     // DNREFI
 25959  	Tuint8_t(0),                                                     // RECURSE
 25960  	Tuint8_t(0),                                                     // CALLOUT
 25961  	Tuint8_t(0),                                                     // CALLOUT_STR
 25962  	Tuint8_t(0),                                                     // Alt
 25963  	Tuint8_t(0),                                                     // Ket
 25964  	Tuint8_t(0),                                                     // KetRmax
 25965  	Tuint8_t(0),                                                     // KetRmin
 25966  	Tuint8_t(0),                                                     // KetRpos
 25967  	Tuint8_t(0),                                                     // Reverse
 25968  	Tuint8_t(0),                                                     // Assert
 25969  	Tuint8_t(0),                                                     // Assert not
 25970  	Tuint8_t(0),                                                     // Assert behind
 25971  	Tuint8_t(0),                                                     // Assert behind not
 25972  	Tuint8_t(0),                                                     // NA assert
 25973  	Tuint8_t(0),                                                     // NA assert behind
 25974  	Tuint8_t(0),                                                     // ONCE
 25975  	Tuint8_t(0),                                                     // SCRIPT_RUN
 25976  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 25977  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 25978  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 25979  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 25980  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 25981  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 25982  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 25983  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 25984  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 25985  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 25986  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 25987  } /* pcre2_dfa_match.c:116:22 */
 25988  
 25989  // This table identifies those opcodes that inspect a character. It is used to
 25990  // remember the fact that a character could have been inspected when the end of
 25991  // the subject is reached. ***NOTE*** If the start of this table is modified, the
 25992  // two tables that follow must also be modified.
 25993  
 25994  var poptable = [168]Tuint8_t{
 25995  	Tuint8_t(0),                                                     // End
 25996  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), // \A, \G, \K, \B, \b
 25997  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \D, \d, \S, \s, \W, \w
 25998  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Any, AllAny, Anybyte
 25999  	Tuint8_t(1), Tuint8_t(1), // \P, \p
 26000  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \R, \H, \h, \V, \v
 26001  	Tuint8_t(1),                                                                  // \X
 26002  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 26003  	Tuint8_t(1), // Char
 26004  	Tuint8_t(1), // Chari
 26005  	Tuint8_t(1), // not
 26006  	Tuint8_t(1), // noti
 26007  	// Positive single-char repeats
 26008  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 26009  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto, minupto, exact
 26010  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+, ++, ?+, upto+
 26011  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 26012  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto I, minupto I, exact I
 26013  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+I, ++I, ?+I, upto+I
 26014  	// Negative single-char repeats - only for chars < 256
 26015  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 26016  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto, minupto, exact
 26017  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+, ++, ?+, upto+
 26018  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I
 26019  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto I, minupto I, exact I
 26020  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+I, ++I, ?+I, upto+I
 26021  	// Positive type repeats
 26022  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 26023  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type upto, minupto, exact
 26024  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *+, ++, ?+, upto+
 26025  	// Character class & ref repeats
 26026  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 26027  	Tuint8_t(1), Tuint8_t(1), // CRRANGE, CRMINRANGE
 26028  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Possessive *+, ++, ?+, CRPOSRANGE
 26029  	Tuint8_t(1),                                                     // CLASS
 26030  	Tuint8_t(1),                                                     // NCLASS
 26031  	Tuint8_t(1),                                                     // XCLASS - variable length
 26032  	Tuint8_t(0),                                                     // REF
 26033  	Tuint8_t(0),                                                     // REFI
 26034  	Tuint8_t(0),                                                     // DNREF
 26035  	Tuint8_t(0),                                                     // DNREFI
 26036  	Tuint8_t(0),                                                     // RECURSE
 26037  	Tuint8_t(0),                                                     // CALLOUT
 26038  	Tuint8_t(0),                                                     // CALLOUT_STR
 26039  	Tuint8_t(0),                                                     // Alt
 26040  	Tuint8_t(0),                                                     // Ket
 26041  	Tuint8_t(0),                                                     // KetRmax
 26042  	Tuint8_t(0),                                                     // KetRmin
 26043  	Tuint8_t(0),                                                     // KetRpos
 26044  	Tuint8_t(0),                                                     // Reverse
 26045  	Tuint8_t(0),                                                     // Assert
 26046  	Tuint8_t(0),                                                     // Assert not
 26047  	Tuint8_t(0),                                                     // Assert behind
 26048  	Tuint8_t(0),                                                     // Assert behind not
 26049  	Tuint8_t(0),                                                     // NA assert
 26050  	Tuint8_t(0),                                                     // NA assert behind
 26051  	Tuint8_t(0),                                                     // ONCE
 26052  	Tuint8_t(0),                                                     // SCRIPT_RUN
 26053  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 26054  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 26055  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 26056  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 26057  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 26058  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 26059  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 26060  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 26061  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 26062  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 26063  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 26064  } /* pcre2_dfa_match.c:198:22 */
 26065  
 26066  // These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W,
 26067  // and \w
 26068  
 26069  var toptable1 = [14]Tuint8_t{
 26070  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26071  	Tuint8_t(Dctype_digit), Tuint8_t(Dctype_digit),
 26072  	Tuint8_t(Dctype_space), Tuint8_t(Dctype_space),
 26073  	Tuint8_t(Dctype_word), Tuint8_t(Dctype_word),
 26074  	Tuint8_t(0), Tuint8_t(0), // OP_ANY, OP_ALLANY
 26075  } /* pcre2_dfa_match.c:273:22 */
 26076  
 26077  var toptable2 = [14]Tuint8_t{
 26078  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26079  	Tuint8_t(Dctype_digit), Tuint8_t(0),
 26080  	Tuint8_t(Dctype_space), Tuint8_t(0),
 26081  	Tuint8_t(Dctype_word), Tuint8_t(0),
 26082  	Tuint8_t(1), Tuint8_t(1), // OP_ANY, OP_ALLANY
 26083  } /* pcre2_dfa_match.c:281:22 */
 26084  
 26085  // Structure for holding data about a particular state, which is in effect the
 26086  // current data for an active path through the match tree. It must consist
 26087  // entirely of ints because the working vector we are passed, and which we put
 26088  // these structures in, is a vector of ints.
 26089  
 26090  type Sstateblock = struct {
 26091  	Foffset int32
 26092  	Fcount  int32
 26093  	Fdata   int32
 26094  } /* pcre2_dfa_match.c:295:9 */
 26095  
 26096  // Structure for holding data about a particular state, which is in effect the
 26097  // current data for an active path through the match tree. It must consist
 26098  // entirely of ints because the working vector we are passed, and which we put
 26099  // these structures in, is a vector of ints.
 26100  
 26101  type Tstateblock = Sstateblock /* pcre2_dfa_match.c:299:3 */
 26102  
 26103  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26104  // local working space and output vectors that were created on the stack. This has
 26105  // caused issues for some patterns, especially in small-stack environments such as
 26106  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26107  // this is too small, heap memory is used, up to the heap_limit. The main
 26108  // parameters are all numbers of ints because the workspace is a vector of ints.
 26109  //
 26110  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26111  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26112  // finding the minimum heap requirement for a match.
 26113  
 26114  // This structure is at the start of each workspace block.
 26115  
 26116  type SRWS_anchor = struct {
 26117  	Fnext uintptr
 26118  	Fsize Tuint32_t
 26119  	Ffree Tuint32_t
 26120  } /* pcre2_dfa_match.c:324:9 */
 26121  
 26122  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26123  // local working space and output vectors that were created on the stack. This has
 26124  // caused issues for some patterns, especially in small-stack environments such as
 26125  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26126  // this is too small, heap memory is used, up to the heap_limit. The main
 26127  // parameters are all numbers of ints because the workspace is a vector of ints.
 26128  //
 26129  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26130  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26131  // finding the minimum heap requirement for a match.
 26132  
 26133  // This structure is at the start of each workspace block.
 26134  
 26135  type TRWS_anchor = SRWS_anchor /* pcre2_dfa_match.c:328:3 */
 26136  
 26137  // ************************************************
 26138  //
 26139  //               Process a callout                *
 26140  //
 26141  
 26142  // This function is called to perform a callout.
 26143  //
 26144  // Arguments:
 26145  //   code              current code pointer
 26146  //   offsets           points to current capture offsets
 26147  //   current_subject   start of current subject match
 26148  //   ptr               current position in subject
 26149  //   mb                the match block
 26150  //   extracode         extra code offset when called from condition
 26151  //   lengthptr         where to return the callout length
 26152  //
 26153  // Returns:            the return from the callout
 26154  
 26155  func do_callout(tls *libc.TLS, code TPCRE2_SPTR8, offsets uintptr, current_subject TPCRE2_SPTR8, ptr TPCRE2_SPTR8, mb uintptr, extracode Tsize_t, lengthptr uintptr) int32 { /* pcre2_dfa_match.c:353:1: */
 26156  	var cb uintptr = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb
 26157  
 26158  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 {
 26159  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26160  			return Tsize_t(X_pcre2_OP_lengths_8[OP_CALLOUT])
 26161  		}
 26162  		return Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode+uint64(1)))))))
 26163  	}()
 26164  
 26165  	if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 26166  		return 0
 26167  	} // No callout provided
 26168  
 26169  	// Fixed fields in the callout block are set once and for all at the start of
 26170  	// matching.
 26171  
 26172  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = offsets
 26173  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fstart_match = Tsize_t((int64(current_subject) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26174  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64(ptr) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26175  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode+uint64(1)))))))
 26176  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode+uint64(1)))))))
 26177  
 26178  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26179  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode))))
 26180  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0)
 26181  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 26182  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0)
 26183  	} else {
 26184  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 26185  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode+uint64(1)))))))
 26186  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = code + uintptr(uint64(1+4*DLINK_SIZE)+extracode) + uintptr(1)
 26187  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2)
 26188  	}
 26189  
 26190  	return (*struct {
 26191  		f func(*libc.TLS, uintptr, uintptr) int32
 26192  	})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 26193  }
 26194  
 26195  // ************************************************
 26196  //
 26197  //         Expand local workspace memory          *
 26198  //
 26199  
 26200  // This function is called when internal_dfa_match() is about to be called
 26201  // recursively and there is insufficient working space left in the current
 26202  // workspace block. If there's an existing next block, use it; otherwise get a new
 26203  // block unless the heap limit is reached.
 26204  //
 26205  // Arguments:
 26206  //   rwsptr     pointer to block pointer (updated)
 26207  //   ovecsize   space needed for an ovector
 26208  //   mb         the match block
 26209  //
 26210  // Returns:     0 rwsptr has been updated
 26211  //             !0 an error code
 26212  
 26213  func more_workspace(tls *libc.TLS, rwsptr uintptr, ovecsize uint32, mb uintptr) int32 { /* pcre2_dfa_match.c:413:1: */
 26214  	var rws uintptr = *(*uintptr)(unsafe.Pointer(rwsptr))
 26215  	var new uintptr
 26216  
 26217  	if (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0) {
 26218  		new = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 26219  	} else {
 26220  		var newsize Tuint32_t
 26221  		if (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize >= 4294967295/uint32(2) {
 26222  			newsize = 4294967295 / uint32(2)
 26223  		} else {
 26224  			newsize = (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize * Tuint32_t(2)
 26225  		}
 26226  		var newsizeK Tuint32_t = Tuint32_t(uint64(newsize) / (uint64(1024) / uint64(unsafe.Sizeof(int32(0)))))
 26227  
 26228  		if Tsize_t(newsizeK)+(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit {
 26229  			newsizeK = Tuint32_t((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit - (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used)
 26230  		}
 26231  		newsize = Tuint32_t(uint64(newsizeK) * (uint64(1024) / uint64(unsafe.Sizeof(int32(0)))))
 26232  
 26233  		if uint64(newsize) < uint64(uint32(DRWS_RSIZE)+ovecsize)+uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))) {
 26234  			return -63
 26235  		}
 26236  		new = (*struct {
 26237  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 26238  		})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(int32(0))), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 26239  		if new == uintptr(0) {
 26240  			return -48
 26241  		}
 26242  		*(*Tsize_t)(unsafe.Pointer(mb + 88)) += Tsize_t(newsizeK)
 26243  		(*TRWS_anchor)(unsafe.Pointer(new)).Fnext = uintptr(0)
 26244  		(*TRWS_anchor)(unsafe.Pointer(new)).Fsize = newsize
 26245  		(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = new
 26246  	}
 26247  
 26248  	(*TRWS_anchor)(unsafe.Pointer(new)).Ffree = Tuint32_t(uint64((*TRWS_anchor)(unsafe.Pointer(new)).Fsize) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))))
 26249  	*(*uintptr)(unsafe.Pointer(rwsptr)) = new
 26250  	return 0
 26251  }
 26252  
 26253  // ************************************************
 26254  //
 26255  //     Match a Regular Expression - DFA engine    *
 26256  //
 26257  
 26258  // This internal function applies a compiled pattern to a subject string,
 26259  // starting at a given point, using a DFA engine. This function is called from the
 26260  // external one, possibly multiple times if the pattern is not anchored. The
 26261  // function calls itself recursively for some kinds of subpattern.
 26262  //
 26263  // Arguments:
 26264  //   mb                the match_data block with fixed information
 26265  //   this_start_code   the opening bracket of this subexpression's code
 26266  //   current_subject   where we currently are in the subject string
 26267  //   start_offset      start offset in the subject string
 26268  //   offsets           vector to contain the matching string offsets
 26269  //   offsetcount       size of same
 26270  //   workspace         vector of workspace
 26271  //   wscount           size of same
 26272  //   rlevel            function call recursion level
 26273  //
 26274  // Returns:            > 0 => number of match offset pairs placed in offsets
 26275  //                     = 0 => offsets overflowed; longest matches are present
 26276  //                      -1 => failed to match
 26277  //                    < -1 => some kind of unexpected problem
 26278  //
 26279  // The following macros are used for adding states to the two state vectors (one
 26280  // for the current character, one for the following character).
 26281  
 26282  // And now, here is the code
 26283  
 26284  func internal_dfa_match(tls *libc.TLS, mb uintptr, this_start_code TPCRE2_SPTR8, current_subject TPCRE2_SPTR8, start_offset Tsize_t, offsets uintptr, offsetcount Tuint32_t, workspace uintptr, wscount int32, rlevel Tuint32_t, RWS uintptr) int32 { /* pcre2_dfa_match.c:522:1: */
 26285  	bp := tls.Alloc(96)
 26286  	defer tls.Free(96)
 26287  
 26288  	var active_states uintptr
 26289  	var new_states uintptr
 26290  	var temp_states uintptr
 26291  	var next_active_state uintptr
 26292  	var next_new_state uintptr
 26293  	var ctypes uintptr
 26294  	var lcc uintptr
 26295  	var fcc uintptr
 26296  	var ptr TPCRE2_SPTR8
 26297  	var end_code TPCRE2_SPTR8
 26298  	// var new_recursive Tdfa_recursion_info at bp+48, 24
 26299  
 26300  	var active_count int32
 26301  	var new_count int32
 26302  	var match_count int32
 26303  
 26304  	// Some fields in the mb block are frequently referenced, so we load them into
 26305  	// independent variables in the hope that this will perform better.
 26306  
 26307  	var start_subject TPCRE2_SPTR8
 26308  	var end_subject TPCRE2_SPTR8
 26309  	var start_code TPCRE2_SPTR8
 26310  	var utf TBOOL
 26311  	var utf_or_ucp TBOOL
 26312  	var reset_could_continue TBOOL
 26313  	var back Tsize_t
 26314  	var current_offset Tsize_t
 26315  	var bstate int32
 26316  	var revlen Tuint32_t
 26317  	var back1 Tsize_t
 26318  	var max_back Tsize_t
 26319  	var gone_back Tsize_t
 26320  	var length int32
 26321  	var cat Tuint32_t
 26322  	var temp TPCRE2_SPTR8
 26323  	var temp1 TPCRE2_SPTR8
 26324  	var cat1 Tuint32_t
 26325  	var left_word int32
 26326  	var right_word int32
 26327  	var OK TBOOL
 26328  	var cp uintptr
 26329  	var prop uintptr
 26330  	var OK1 TBOOL
 26331  	var cp1 uintptr
 26332  	var prop1 uintptr
 26333  	// var ncount int32 at bp, 4
 26334  
 26335  	var ncount1 int32
 26336  	var OK2 TBOOL
 26337  	var OK3 TBOOL
 26338  	var OK4 TBOOL
 26339  	var cp2 uintptr
 26340  	var prop2 uintptr
 26341  	// var ncount2 int32 at bp+4, 4
 26342  
 26343  	var ncount3 int32
 26344  	var OK5 TBOOL
 26345  	var OK6 TBOOL
 26346  	var OK7 TBOOL
 26347  	var cp3 uintptr
 26348  	var prop3 uintptr
 26349  	var nptr TPCRE2_SPTR8
 26350  	// var ncount4 int32 at bp+8, 4
 26351  
 26352  	var ncount5 int32
 26353  	var OK8 TBOOL
 26354  	var OK9 TBOOL
 26355  	var othercase uint32
 26356  	// var ncount6 int32 at bp+12, 4
 26357  
 26358  	var nptr1 TPCRE2_SPTR8
 26359  	var otherd Tuint32_t
 26360  	var otherd1 Tuint32_t
 26361  	var otherd2 Tuint32_t
 26362  	var otherd3 Tuint32_t
 26363  	var otherd4 Tuint32_t
 26364  	var otherd5 Tuint32_t
 26365  	var max int32
 26366  	var isinclass TBOOL
 26367  	var next_state_offset int32
 26368  	var ecode TPCRE2_SPTR8
 26369  	var rc int32
 26370  	var local_workspace uintptr
 26371  	var local_offsets uintptr
 26372  	var endasscode TPCRE2_SPTR8
 26373  	// var rws uintptr at bp+16, 8
 26374  
 26375  	// var callout_length Tsize_t at bp+24, 8
 26376  
 26377  	var value uint32
 26378  	var rc1 int32
 26379  	var local_workspace1 uintptr
 26380  	var local_offsets1 uintptr
 26381  	var asscode TPCRE2_SPTR8
 26382  	var endasscode1 TPCRE2_SPTR8
 26383  	// var rws1 uintptr at bp+32, 8
 26384  
 26385  	var codelink int32
 26386  	var condcode TPCRE2_UCHAR8
 26387  	var p TPCRE2_SPTR8
 26388  	var pp TPCRE2_SPTR8
 26389  	var charcount Tsize_t
 26390  	var rc2 int32
 26391  	var local_workspace2 uintptr
 26392  	var local_offsets2 uintptr
 26393  	// var rws2 uintptr at bp+40, 8
 26394  
 26395  	var ri uintptr
 26396  	var callpat TPCRE2_SPTR8
 26397  	var recno Tuint32_t
 26398  	var p1 TPCRE2_SPTR8
 26399  	var pp1 TPCRE2_SPTR8
 26400  	var end_subpattern TPCRE2_SPTR8
 26401  	var next_state_offset1 int32
 26402  	var rc3 int32
 26403  	var local_workspace3 uintptr
 26404  	var local_offsets3 uintptr
 26405  	var charcount1 Tsize_t
 26406  	var matched_count Tsize_t
 26407  	var local_ptr TPCRE2_SPTR8
 26408  	// var rws3 uintptr at bp+72, 8
 26409  
 26410  	var allow_zero TBOOL
 26411  	var p2 TPCRE2_SPTR8
 26412  	var pp2 TPCRE2_SPTR8
 26413  	var end_subpattern1 TPCRE2_SPTR8
 26414  	var charcount2 Tsize_t
 26415  	var next_state_offset2 int32
 26416  	var repeat_state_offset int32
 26417  	var rc4 int32
 26418  	var local_workspace4 uintptr
 26419  	var local_offsets4 uintptr
 26420  	// var rws4 uintptr at bp+80, 8
 26421  
 26422  	// var callout_length1 Tsize_t at bp+88, 8
 26423  
 26424  	var current_state uintptr
 26425  	var caseless TBOOL
 26426  	var code TPCRE2_SPTR8
 26427  	var codevalue Tuint32_t
 26428  	var state_offset int32
 26429  	var rrc int32
 26430  	var count int32
 26431  	var i int32
 26432  	var j int32
 26433  	var clen int32
 26434  	var dlen int32
 26435  	var c Tuint32_t
 26436  	var d Tuint32_t
 26437  	var forced_fail int32
 26438  	var partial_newline TBOOL
 26439  	var could_continue TBOOL
 26440  	start_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject
 26441  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 26442  	start_code = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code
 26443  	utf = libc.Bool32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 26444  	utf_or_ucp = libc.Bool32(utf != 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 26445  	reset_could_continue = DFALSE
 26446  
 26447  	if !(libc.PostIncUint32(&(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 26448  		goto __1
 26449  	}
 26450  	return -47
 26451  __1:
 26452  	;
 26453  	if !(libc.PostIncUint32(&rlevel, 1) > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 26454  		goto __2
 26455  	}
 26456  	return -53
 26457  __2:
 26458  	;
 26459  	offsetcount = offsetcount & libc.Uint32(libc.Uint32FromInt32(-2)) // Round down
 26460  
 26461  	wscount = wscount - 2
 26462  	wscount = (wscount - wscount%(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))*2)) / (2 * int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0)))))
 26463  
 26464  	ctypes = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 26465  	lcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dlcc_offset)
 26466  	fcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset)
 26467  
 26468  	match_count = -1 // A negative number
 26469  
 26470  	active_states = workspace + uintptr(2)*4
 26471  	next_new_state = libc.AssignUintptr(&new_states, active_states+uintptr(wscount)*12)
 26472  	new_count = 0
 26473  
 26474  	// The first thing in any (sub) pattern is a bracket of some sort. Push all
 26475  	// the alternative states onto the list, and find out where the end is. This
 26476  	// makes is possible to use this function recursively, when we want to stop at a
 26477  	// matching internal ket rather than at the end.
 26478  	//
 26479  	// If we are dealing with a backward assertion we have to find out the maximum
 26480  	// amount to move back, and set up each alternative appropriately.
 26481  
 26482  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK_NOT) {
 26483  		goto __3
 26484  	}
 26485  
 26486  	max_back = uint64(0)
 26487  
 26488  	end_code = this_start_code
 26489  __5:
 26490  
 26491  	back = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26492  	if !(back > max_back) {
 26493  		goto __8
 26494  	}
 26495  	max_back = back
 26496  __8:
 26497  	;
 26498  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26499  	goto __6
 26500  __6:
 26501  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26502  		goto __5
 26503  	}
 26504  	goto __7
 26505  __7:
 26506  	;
 26507  
 26508  	// If we can't go back the amount required for the longest lookbehind
 26509  	//   pattern, go back as far as we can; some alternatives may still be viable.
 26510  
 26511  	// In character mode we have to step back character by character
 26512  
 26513  	if !(utf != 0) {
 26514  		goto __9
 26515  	}
 26516  
 26517  	gone_back = uint64(0)
 26518  __11:
 26519  	if !(gone_back < max_back) {
 26520  		goto __13
 26521  	}
 26522  
 26523  	if !(current_subject <= start_subject) {
 26524  		goto __14
 26525  	}
 26526  	goto __13
 26527  __14:
 26528  	;
 26529  	current_subject--
 26530  __15:
 26531  	if !(current_subject > start_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(current_subject)))&0xc0 == 0x80) {
 26532  		goto __16
 26533  	}
 26534  	current_subject--
 26535  	goto __15
 26536  __16:
 26537  	;
 26538  	goto __12
 26539  __12:
 26540  	gone_back++
 26541  	goto __11
 26542  	goto __13
 26543  __13:
 26544  	;
 26545  	goto __10
 26546  __9:
 26547  
 26548  	/* In byte-mode we can do this quickly. */
 26549  
 26550  	current_offset = Tsize_t((int64(current_subject) - int64(start_subject)) / 1)
 26551  	if current_offset < max_back {
 26552  		gone_back = current_offset
 26553  	} else {
 26554  		gone_back = max_back
 26555  	}
 26556  	current_subject -= TPCRE2_SPTR8(gone_back)
 26557  __10:
 26558  	;
 26559  
 26560  	// Save the earliest consulted character
 26561  
 26562  	if !(current_subject < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 26563  		goto __17
 26564  	}
 26565  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = current_subject
 26566  __17:
 26567  	;
 26568  
 26569  	// Now we can process the individual branches. There will be an OP_REVERSE at
 26570  	//   the start of each branch, except when the length of the branch is zero.
 26571  
 26572  	end_code = this_start_code
 26573  __18:
 26574  
 26575  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 3))) == OP_REVERSE {
 26576  		revlen = uint32(1 + DLINK_SIZE)
 26577  	} else {
 26578  		revlen = uint32(0)
 26579  	}
 26580  	if revlen == Tuint32_t(0) {
 26581  		back1 = uint64(0)
 26582  	} else {
 26583  		back1 = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26584  	}
 26585  	if !(back1 <= gone_back) {
 26586  		goto __21
 26587  	}
 26588  
 26589  	bstate = int32((int64(end_code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(revlen))
 26590  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26591  		goto __22
 26592  	}
 26593  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -bstate
 26594  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26595  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(gone_back - back1)
 26596  	next_new_state += 12
 26597  	goto __23
 26598  __22:
 26599  	return -43
 26600  __23:
 26601  	;
 26602  __21:
 26603  	;
 26604  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26605  	goto __19
 26606  __19:
 26607  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26608  		goto __18
 26609  	}
 26610  	goto __20
 26611  __20:
 26612  	;
 26613  	goto __4
 26614  __3:
 26615  
 26616  	end_code = this_start_code
 26617  
 26618  	// Restarting
 26619  
 26620  	if !(rlevel == Tuint32_t(1) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 26621  		goto __24
 26622  	}
 26623  
 26624  __26:
 26625  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26626  	goto __27
 26627  __27:
 26628  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26629  		goto __26
 26630  	}
 26631  	goto __28
 26632  __28:
 26633  	;
 26634  	new_count = *(*int32)(unsafe.Pointer(workspace + 1*4))
 26635  	if !!(*(*int32)(unsafe.Pointer(workspace)) != 0) {
 26636  		goto __29
 26637  	}
 26638  	libc.Xmemcpy(tls, new_states, active_states, Tsize_t(new_count)*Tsize_t(unsafe.Sizeof(Tstateblock{})))
 26639  __29:
 26640  	;
 26641  	goto __25
 26642  __24:
 26643  
 26644  	length = 1 + DLINK_SIZE + func() int32 {
 26645  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRAPOS {
 26646  			return DIMM2_SIZE
 26647  		}
 26648  		return 0
 26649  	}()
 26650  __30:
 26651  
 26652  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26653  		goto __33
 26654  	}
 26655  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = int32((int64(end_code)-int64(start_code))/1 + int64(length))
 26656  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26657  	next_new_state += 12
 26658  	goto __34
 26659  __33:
 26660  	return -43
 26661  __34:
 26662  	;
 26663  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26664  	length = 1 + DLINK_SIZE
 26665  	goto __31
 26666  __31:
 26667  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26668  		goto __30
 26669  	}
 26670  	goto __32
 26671  __32:
 26672  	;
 26673  __25:
 26674  	;
 26675  __4:
 26676  	;
 26677  
 26678  	*(*int32)(unsafe.Pointer(workspace)) = 0 // Bit indicating which vector is current
 26679  
 26680  	// Loop for scanning the subject
 26681  
 26682  	ptr = current_subject
 26683  __35:
 26684  	forced_fail = 0
 26685  	partial_newline = DFALSE
 26686  	could_continue = reset_could_continue
 26687  	reset_could_continue = DFALSE
 26688  
 26689  	if !(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 26690  		goto __38
 26691  	}
 26692  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = ptr
 26693  __38:
 26694  	;
 26695  
 26696  	// Make the new state list into the active state list and empty the
 26697  	//   new state list.
 26698  
 26699  	temp_states = active_states
 26700  	active_states = new_states
 26701  	new_states = temp_states
 26702  	active_count = new_count
 26703  	new_count = 0
 26704  
 26705  	*(*int32)(unsafe.Pointer(workspace)) ^= 1 // Remember for the restarting feature
 26706  	*(*int32)(unsafe.Pointer(workspace + 1*4)) = active_count
 26707  
 26708  	// Set the pointers for adding new states
 26709  
 26710  	next_active_state = active_states + uintptr(active_count)*12
 26711  	next_new_state = new_states
 26712  
 26713  	// Load the current character from the subject outside the loop, as many
 26714  	//   different states may want to look at it, and we assume that at least one
 26715  	//   will.
 26716  
 26717  	if !(ptr < end_subject) {
 26718  		goto __39
 26719  	}
 26720  
 26721  	clen = 1 // Number of data items in the character
 26722  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 26723  	if !(utf != 0 && c >= 0xc0) {
 26724  		goto __41
 26725  	}
 26726  	if !(c&0x20 == Tuint32_t(0)) {
 26727  		goto __42
 26728  	}
 26729  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 26730  	clen++
 26731  	goto __43
 26732  __42:
 26733  	if !(c&0x10 == Tuint32_t(0)) {
 26734  		goto __44
 26735  	}
 26736  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 26737  	clen = clen + 2
 26738  	goto __45
 26739  __44:
 26740  	if !(c&0x08 == Tuint32_t(0)) {
 26741  		goto __46
 26742  	}
 26743  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 26744  	clen = clen + 3
 26745  	goto __47
 26746  __46:
 26747  	if !(c&0x04 == Tuint32_t(0)) {
 26748  		goto __48
 26749  	}
 26750  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 26751  	clen = clen + 4
 26752  	goto __49
 26753  __48:
 26754  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 26755  	clen = clen + 5
 26756  __49:
 26757  	;
 26758  __47:
 26759  	;
 26760  __45:
 26761  	;
 26762  __43:
 26763  	;
 26764  __41:
 26765  	;
 26766  
 26767  	goto __40
 26768  __39:
 26769  
 26770  	clen = 0 // This indicates the end of the subject
 26771  	c = DNOTACHAR // This value should never actually be used
 26772  __40:
 26773  	;
 26774  
 26775  	// Scan up the active states and act on each one. The result of an action
 26776  	//   may be to add more states to the currently active list (e.g. on hitting a
 26777  	//   parenthesis) or it may be to put states on the new list, for considering
 26778  	//   when we move the character pointer on.
 26779  
 26780  	i = 0
 26781  __50:
 26782  	if !(i < active_count) {
 26783  		goto __52
 26784  	}
 26785  	current_state = active_states + uintptr(i)*12
 26786  	caseless = DFALSE
 26787  	state_offset = (*Tstateblock)(unsafe.Pointer(current_state)).Foffset
 26788  
 26789  	// A negative offset is a special case meaning "hold off going to this
 26790  	//     (negated) state until the number of characters in the data field have
 26791  	//     been skipped". If the could_continue flag was passed over from a previous
 26792  	//     state, arrange for it to passed on.
 26793  
 26794  	if !(state_offset < 0) {
 26795  		goto __53
 26796  	}
 26797  
 26798  	if !((*Tstateblock)(unsafe.Pointer(current_state)).Fdata > 0) {
 26799  		goto __54
 26800  	}
 26801  
 26802  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26803  		goto __56
 26804  	}
 26805  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 26806  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount
 26807  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = (*Tstateblock)(unsafe.Pointer(current_state)).Fdata - 1
 26808  	next_new_state += 12
 26809  	goto __57
 26810  __56:
 26811  	return -43
 26812  __57:
 26813  	;
 26814  	if !(could_continue != 0) {
 26815  		goto __58
 26816  	}
 26817  	reset_could_continue = DTRUE
 26818  __58:
 26819  	;
 26820  	goto __51
 26821  	goto __55
 26822  __54:
 26823  
 26824  	(*Tstateblock)(unsafe.Pointer(current_state)).Foffset = libc.AssignInt32(&state_offset, -state_offset)
 26825  __55:
 26826  	;
 26827  __53:
 26828  	;
 26829  
 26830  	// Check for a duplicate state with the same count, and skip if found.
 26831  	//     See the note at the head of this module about the possibility of improving
 26832  	//     performance here.
 26833  
 26834  	j = 0
 26835  __59:
 26836  	if !(j < i) {
 26837  		goto __61
 26838  	}
 26839  
 26840  	if !((*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Foffset == state_offset && (*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Fcount == (*Tstateblock)(unsafe.Pointer(current_state)).Fcount) {
 26841  		goto __62
 26842  	}
 26843  	goto NEXT_ACTIVE_STATE
 26844  __62:
 26845  	;
 26846  	goto __60
 26847  __60:
 26848  	j++
 26849  	goto __59
 26850  	goto __61
 26851  __61:
 26852  	;
 26853  
 26854  	// The state offset is the offset to the opcode
 26855  
 26856  	code = start_code + uintptr(state_offset)
 26857  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
 26858  
 26859  	// If this opcode inspects a character, but we are at the end of the
 26860  	//     subject, remember the fact for use when testing for a partial match.
 26861  
 26862  	if !(clen == 0 && int32(poptable[codevalue]) != 0) {
 26863  		goto __63
 26864  	}
 26865  	could_continue = DTRUE
 26866  __63:
 26867  	;
 26868  
 26869  	// If this opcode is followed by an inline character, load it. It is
 26870  	//     tempting to test for the presence of a subject character here, but that
 26871  	//     is wrong, because sometimes zero repetitions of the subject are
 26872  	//     permitted.
 26873  	//
 26874  	//     We also use this mechanism for opcodes such as OP_TYPEPLUS that take an
 26875  	//     argument that is not a data character - but is always one byte long because
 26876  	//     the values are small. We have to take special action to deal with  \P, \p,
 26877  	//     \H, \h, \V, \v and \X in this case. To keep the other cases fast, convert
 26878  	//     these ones to new opcodes.
 26879  
 26880  	if !(int32(coptable[codevalue]) > 0) {
 26881  		goto __64
 26882  	}
 26883  
 26884  	dlen = 1
 26885  	if !(utf != 0) {
 26886  		goto __66
 26887  	}
 26888  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26889  	if !(d >= 0xc0) {
 26890  		goto __68
 26891  	}
 26892  	if !(d&0x20 == Tuint32_t(0)) {
 26893  		goto __69
 26894  	}
 26895  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f
 26896  	dlen++
 26897  	goto __70
 26898  __69:
 26899  	if !(d&0x10 == Tuint32_t(0)) {
 26900  		goto __71
 26901  	}
 26902  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f
 26903  	dlen = dlen + 2
 26904  	goto __72
 26905  __71:
 26906  	if !(d&0x08 == Tuint32_t(0)) {
 26907  		goto __73
 26908  	}
 26909  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f
 26910  	dlen = dlen + 3
 26911  	goto __74
 26912  __73:
 26913  	if !(d&0x04 == Tuint32_t(0)) {
 26914  		goto __75
 26915  	}
 26916  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f
 26917  	dlen = dlen + 4
 26918  	goto __76
 26919  __75:
 26920  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 5)))&0x3f
 26921  	dlen = dlen + 5
 26922  __76:
 26923  	;
 26924  __74:
 26925  	;
 26926  __72:
 26927  	;
 26928  __70:
 26929  	;
 26930  __68:
 26931  	;
 26932  
 26933  	goto __67
 26934  __66:
 26935  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26936  __67:
 26937  	;
 26938  	if !(codevalue >= OP_TYPESTAR) {
 26939  		goto __77
 26940  	}
 26941  
 26942  	switch d {
 26943  	case OP_ANYBYTE:
 26944  		goto __79
 26945  	case OP_NOTPROP:
 26946  		goto __80
 26947  	case OP_PROP:
 26948  		goto __81
 26949  	case OP_ANYNL:
 26950  		goto __82
 26951  	case OP_EXTUNI:
 26952  		goto __83
 26953  	case OP_NOT_HSPACE:
 26954  		goto __84
 26955  	case OP_HSPACE:
 26956  		goto __85
 26957  	case OP_NOT_VSPACE:
 26958  		goto __86
 26959  	case OP_VSPACE:
 26960  		goto __87
 26961  	default:
 26962  		goto __88
 26963  	}
 26964  	goto __78
 26965  
 26966  __79:
 26967  	return -42
 26968  __80:
 26969  __81:
 26970  	codevalue = codevalue + Tuint32_t(DOP_PROP_EXTRA)
 26971  	goto __78
 26972  __82:
 26973  	codevalue = codevalue + Tuint32_t(DOP_ANYNL_EXTRA)
 26974  	goto __78
 26975  __83:
 26976  	codevalue = codevalue + Tuint32_t(DOP_EXTUNI_EXTRA)
 26977  	goto __78
 26978  __84:
 26979  __85:
 26980  	codevalue = codevalue + Tuint32_t(DOP_HSPACE_EXTRA)
 26981  	goto __78
 26982  __86:
 26983  __87:
 26984  	codevalue = codevalue + Tuint32_t(DOP_VSPACE_EXTRA)
 26985  	goto __78
 26986  __88:
 26987  	goto __78
 26988  __78:
 26989  	;
 26990  __77:
 26991  	;
 26992  	goto __65
 26993  __64:
 26994  
 26995  	dlen = 0 // Not strictly necessary, but compilers moan
 26996  	d = DNOTACHAR // if these variables are not set.
 26997  __65:
 26998  	;
 26999  
 27000  	// Now process the individual opcodes
 27001  
 27002  	switch codevalue {
 27003  	// ==========================================================================
 27004  	// These cases are never obeyed. This is a fudge that causes a compile-
 27005  	//       time error if the vectors coptable or poptable, which are indexed by
 27006  	//       opcode, are not the correct length. It seems to be the only way to do
 27007  	//       such a check at compile time, as the sizeof() operator does not work
 27008  	//       in the C preprocessor.
 27009  
 27010  	case OP_TABLE_LENGTH:
 27011  		goto __90
 27012  	case Tuint32_t(OP_TABLE_LENGTH + libc.Bool32(uint64(unsafe.Sizeof(coptable)) == OP_TABLE_LENGTH && uint64(unsafe.Sizeof(poptable)) == OP_TABLE_LENGTH)):
 27013  		goto __91
 27014  
 27015  		// ==========================================================================
 27016  	// Reached a closing bracket. If not at the end of the pattern, carry
 27017  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27018  	//       state. Note that KETRPOS will always be encountered at the end of the
 27019  	//       subpattern, because the possessive subpattern repeats are always handled
 27020  	//       using recursive calls. Thus, it never adds any new states.
 27021  	//
 27022  	//       At the end of the (sub)pattern, unless we have an empty string and
 27023  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27024  	//       start of the subject, save the match data, shifting up all previous
 27025  	//       matches so we always have the longest first.
 27026  
 27027  	case OP_KET:
 27028  		goto __92
 27029  	case OP_KETRMIN:
 27030  		goto __93
 27031  	case OP_KETRMAX:
 27032  		goto __94
 27033  	case OP_KETRPOS:
 27034  		goto __95
 27035  
 27036  		// ==========================================================================
 27037  	// These opcodes add to the current list of states without looking
 27038  	//       at the current character.
 27039  
 27040  	//-----------------------------------------------------------------
 27041  	case OP_ALT:
 27042  		goto __96
 27043  
 27044  	//-----------------------------------------------------------------
 27045  	case OP_BRA:
 27046  		goto __97
 27047  	case OP_SBRA:
 27048  		goto __98
 27049  
 27050  	//-----------------------------------------------------------------
 27051  	case OP_CBRA:
 27052  		goto __99
 27053  	case OP_SCBRA:
 27054  		goto __100
 27055  
 27056  	//-----------------------------------------------------------------
 27057  	case OP_BRAZERO:
 27058  		goto __101
 27059  	case OP_BRAMINZERO:
 27060  		goto __102
 27061  
 27062  	//-----------------------------------------------------------------
 27063  	case OP_SKIPZERO:
 27064  		goto __103
 27065  
 27066  	//-----------------------------------------------------------------
 27067  	case OP_CIRC:
 27068  		goto __104
 27069  
 27070  	//-----------------------------------------------------------------
 27071  	case OP_CIRCM:
 27072  		goto __105
 27073  
 27074  	//-----------------------------------------------------------------
 27075  	case OP_EOD:
 27076  		goto __106
 27077  
 27078  	//-----------------------------------------------------------------
 27079  	case OP_SOD:
 27080  		goto __107
 27081  
 27082  	//-----------------------------------------------------------------
 27083  	case OP_SOM:
 27084  		goto __108
 27085  
 27086  		// ==========================================================================
 27087  	// These opcodes inspect the next subject character, and sometimes
 27088  	//       the previous one as well, but do not have an argument. The variable
 27089  	//       clen contains the length of the current character and is zero if we are
 27090  	//       at the end of the subject.
 27091  
 27092  	//-----------------------------------------------------------------
 27093  	case OP_ANY:
 27094  		goto __109
 27095  
 27096  	//-----------------------------------------------------------------
 27097  	case OP_ALLANY:
 27098  		goto __110
 27099  
 27100  	//-----------------------------------------------------------------
 27101  	case OP_EODN:
 27102  		goto __111
 27103  
 27104  	//-----------------------------------------------------------------
 27105  	case OP_DOLL:
 27106  		goto __112
 27107  
 27108  	//-----------------------------------------------------------------
 27109  	case OP_DOLLM:
 27110  		goto __113
 27111  
 27112  	//-----------------------------------------------------------------
 27113  
 27114  	case OP_DIGIT:
 27115  		goto __114
 27116  	case OP_WHITESPACE:
 27117  		goto __115
 27118  	case OP_WORDCHAR:
 27119  		goto __116
 27120  
 27121  	//-----------------------------------------------------------------
 27122  	case OP_NOT_DIGIT:
 27123  		goto __117
 27124  	case OP_NOT_WHITESPACE:
 27125  		goto __118
 27126  	case OP_NOT_WORDCHAR:
 27127  		goto __119
 27128  
 27129  	//-----------------------------------------------------------------
 27130  	case OP_WORD_BOUNDARY:
 27131  		goto __120
 27132  	case OP_NOT_WORD_BOUNDARY:
 27133  		goto __121
 27134  
 27135  	//-----------------------------------------------------------------
 27136  	// Check the next character by Unicode property. We will get here only
 27137  	//       if the support is in the binary; otherwise a compile-time error occurs.
 27138  	//
 27139  
 27140  	case OP_PROP:
 27141  		goto __122
 27142  	case OP_NOTPROP:
 27143  		goto __123
 27144  
 27145  		// ==========================================================================
 27146  	// These opcodes likewise inspect the subject character, but have an
 27147  	//       argument that is not a data character. It is one of these opcodes:
 27148  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 27149  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 27150  
 27151  	case OP_TYPEPLUS:
 27152  		goto __124
 27153  	case OP_TYPEMINPLUS:
 27154  		goto __125
 27155  	case OP_TYPEPOSPLUS:
 27156  		goto __126
 27157  
 27158  	//-----------------------------------------------------------------
 27159  	case OP_TYPEQUERY:
 27160  		goto __127
 27161  	case OP_TYPEMINQUERY:
 27162  		goto __128
 27163  	case OP_TYPEPOSQUERY:
 27164  		goto __129
 27165  
 27166  	//-----------------------------------------------------------------
 27167  	case OP_TYPESTAR:
 27168  		goto __130
 27169  	case OP_TYPEMINSTAR:
 27170  		goto __131
 27171  	case OP_TYPEPOSSTAR:
 27172  		goto __132
 27173  
 27174  	//-----------------------------------------------------------------
 27175  	case OP_TYPEEXACT:
 27176  		goto __133
 27177  
 27178  	//-----------------------------------------------------------------
 27179  	case OP_TYPEUPTO:
 27180  		goto __134
 27181  	case OP_TYPEMINUPTO:
 27182  		goto __135
 27183  	case OP_TYPEPOSUPTO:
 27184  		goto __136
 27185  
 27186  		// ==========================================================================
 27187  	// These are virtual opcodes that are used when something like
 27188  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 27189  	//       argument. It keeps the code above fast for the other cases. The argument
 27190  	//       is in the d variable.
 27191  
 27192  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPLUS):
 27193  		goto __137
 27194  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINPLUS):
 27195  		goto __138
 27196  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSPLUS):
 27197  		goto __139
 27198  
 27199  	//-----------------------------------------------------------------
 27200  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPLUS):
 27201  		goto __140
 27202  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINPLUS):
 27203  		goto __141
 27204  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSPLUS):
 27205  		goto __142
 27206  
 27207  	//-----------------------------------------------------------------
 27208  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPLUS):
 27209  		goto __143
 27210  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINPLUS):
 27211  		goto __144
 27212  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSPLUS):
 27213  		goto __145
 27214  
 27215  	//-----------------------------------------------------------------
 27216  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPLUS):
 27217  		goto __146
 27218  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINPLUS):
 27219  		goto __147
 27220  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSPLUS):
 27221  		goto __148
 27222  
 27223  	//-----------------------------------------------------------------
 27224  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPLUS):
 27225  		goto __149
 27226  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINPLUS):
 27227  		goto __150
 27228  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSPLUS):
 27229  		goto __151
 27230  
 27231  	//-----------------------------------------------------------------
 27232  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEQUERY):
 27233  		goto __152
 27234  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINQUERY):
 27235  		goto __153
 27236  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSQUERY):
 27237  		goto __154
 27238  
 27239  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPESTAR):
 27240  		goto __155
 27241  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINSTAR):
 27242  		goto __156
 27243  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSSTAR):
 27244  		goto __157
 27245  
 27246  	//-----------------------------------------------------------------
 27247  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEQUERY):
 27248  		goto __158
 27249  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINQUERY):
 27250  		goto __159
 27251  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSQUERY):
 27252  		goto __160
 27253  
 27254  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPESTAR):
 27255  		goto __161
 27256  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINSTAR):
 27257  		goto __162
 27258  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSSTAR):
 27259  		goto __163
 27260  
 27261  	//-----------------------------------------------------------------
 27262  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEQUERY):
 27263  		goto __164
 27264  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINQUERY):
 27265  		goto __165
 27266  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSQUERY):
 27267  		goto __166
 27268  
 27269  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPESTAR):
 27270  		goto __167
 27271  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINSTAR):
 27272  		goto __168
 27273  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSSTAR):
 27274  		goto __169
 27275  
 27276  	//-----------------------------------------------------------------
 27277  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEQUERY):
 27278  		goto __170
 27279  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINQUERY):
 27280  		goto __171
 27281  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSQUERY):
 27282  		goto __172
 27283  
 27284  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPESTAR):
 27285  		goto __173
 27286  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINSTAR):
 27287  		goto __174
 27288  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSSTAR):
 27289  		goto __175
 27290  
 27291  	//-----------------------------------------------------------------
 27292  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEQUERY):
 27293  		goto __176
 27294  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINQUERY):
 27295  		goto __177
 27296  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSQUERY):
 27297  		goto __178
 27298  
 27299  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPESTAR):
 27300  		goto __179
 27301  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINSTAR):
 27302  		goto __180
 27303  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSSTAR):
 27304  		goto __181
 27305  
 27306  	//-----------------------------------------------------------------
 27307  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEEXACT):
 27308  		goto __182
 27309  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEUPTO):
 27310  		goto __183
 27311  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINUPTO):
 27312  		goto __184
 27313  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSUPTO):
 27314  		goto __185
 27315  
 27316  	//-----------------------------------------------------------------
 27317  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEEXACT):
 27318  		goto __186
 27319  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEUPTO):
 27320  		goto __187
 27321  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINUPTO):
 27322  		goto __188
 27323  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSUPTO):
 27324  		goto __189
 27325  
 27326  	//-----------------------------------------------------------------
 27327  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEEXACT):
 27328  		goto __190
 27329  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEUPTO):
 27330  		goto __191
 27331  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINUPTO):
 27332  		goto __192
 27333  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSUPTO):
 27334  		goto __193
 27335  
 27336  	//-----------------------------------------------------------------
 27337  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEEXACT):
 27338  		goto __194
 27339  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEUPTO):
 27340  		goto __195
 27341  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINUPTO):
 27342  		goto __196
 27343  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSUPTO):
 27344  		goto __197
 27345  
 27346  	//-----------------------------------------------------------------
 27347  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEEXACT):
 27348  		goto __198
 27349  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEUPTO):
 27350  		goto __199
 27351  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINUPTO):
 27352  		goto __200
 27353  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSUPTO):
 27354  		goto __201
 27355  
 27356  		// ==========================================================================
 27357  	// These opcodes are followed by a character that is usually compared
 27358  	//       to the current subject character; it is loaded into d. We still get
 27359  	//       here even if there is no subject character, because in some cases zero
 27360  	//       repetitions are permitted.
 27361  
 27362  	//-----------------------------------------------------------------
 27363  	case OP_CHAR:
 27364  		goto __202
 27365  
 27366  	//-----------------------------------------------------------------
 27367  	case OP_CHARI:
 27368  		goto __203
 27369  
 27370  	//-----------------------------------------------------------------
 27371  	// This is a tricky one because it can match more than one character.
 27372  	//       Find out how many characters to skip, and then set up a negative state
 27373  	//       to wait for them to pass before continuing.
 27374  
 27375  	case OP_EXTUNI:
 27376  		goto __204
 27377  
 27378  	//-----------------------------------------------------------------
 27379  	// This is a tricky like EXTUNI because it too can match more than one
 27380  	//       character (when CR is followed by LF). In this case, set up a negative
 27381  	//       state to wait for one character to pass before continuing.
 27382  
 27383  	case OP_ANYNL:
 27384  		goto __205
 27385  
 27386  	//-----------------------------------------------------------------
 27387  	case OP_NOT_VSPACE:
 27388  		goto __206
 27389  
 27390  	//-----------------------------------------------------------------
 27391  	case OP_VSPACE:
 27392  		goto __207
 27393  
 27394  	//-----------------------------------------------------------------
 27395  	case OP_NOT_HSPACE:
 27396  		goto __208
 27397  
 27398  	//-----------------------------------------------------------------
 27399  	case OP_HSPACE:
 27400  		goto __209
 27401  
 27402  	//-----------------------------------------------------------------
 27403  	// Match a negated single character casefully.
 27404  
 27405  	case OP_NOT:
 27406  		goto __210
 27407  
 27408  	//-----------------------------------------------------------------
 27409  	// Match a negated single character caselessly.
 27410  
 27411  	case OP_NOTI:
 27412  		goto __211
 27413  
 27414  	//-----------------------------------------------------------------
 27415  	case OP_PLUSI:
 27416  		goto __212
 27417  	case OP_MINPLUSI:
 27418  		goto __213
 27419  	case OP_POSPLUSI:
 27420  		goto __214
 27421  	case OP_NOTPLUSI:
 27422  		goto __215
 27423  	case OP_NOTMINPLUSI:
 27424  		goto __216
 27425  	case OP_NOTPOSPLUSI:
 27426  		goto __217
 27427  
 27428  	// Fall through
 27429  	case OP_PLUS:
 27430  		goto __218
 27431  	case OP_MINPLUS:
 27432  		goto __219
 27433  	case OP_POSPLUS:
 27434  		goto __220
 27435  	case OP_NOTPLUS:
 27436  		goto __221
 27437  	case OP_NOTMINPLUS:
 27438  		goto __222
 27439  	case OP_NOTPOSPLUS:
 27440  		goto __223
 27441  
 27442  	//-----------------------------------------------------------------
 27443  	case OP_QUERYI:
 27444  		goto __224
 27445  	case OP_MINQUERYI:
 27446  		goto __225
 27447  	case OP_POSQUERYI:
 27448  		goto __226
 27449  	case OP_NOTQUERYI:
 27450  		goto __227
 27451  	case OP_NOTMINQUERYI:
 27452  		goto __228
 27453  	case OP_NOTPOSQUERYI:
 27454  		goto __229
 27455  	// Fall through
 27456  	case OP_QUERY:
 27457  		goto __230
 27458  	case OP_MINQUERY:
 27459  		goto __231
 27460  	case OP_POSQUERY:
 27461  		goto __232
 27462  	case OP_NOTQUERY:
 27463  		goto __233
 27464  	case OP_NOTMINQUERY:
 27465  		goto __234
 27466  	case OP_NOTPOSQUERY:
 27467  		goto __235
 27468  
 27469  	//-----------------------------------------------------------------
 27470  	case OP_STARI:
 27471  		goto __236
 27472  	case OP_MINSTARI:
 27473  		goto __237
 27474  	case OP_POSSTARI:
 27475  		goto __238
 27476  	case OP_NOTSTARI:
 27477  		goto __239
 27478  	case OP_NOTMINSTARI:
 27479  		goto __240
 27480  	case OP_NOTPOSSTARI:
 27481  		goto __241
 27482  	// Fall through
 27483  	case OP_STAR:
 27484  		goto __242
 27485  	case OP_MINSTAR:
 27486  		goto __243
 27487  	case OP_POSSTAR:
 27488  		goto __244
 27489  	case OP_NOTSTAR:
 27490  		goto __245
 27491  	case OP_NOTMINSTAR:
 27492  		goto __246
 27493  	case OP_NOTPOSSTAR:
 27494  		goto __247
 27495  
 27496  	//-----------------------------------------------------------------
 27497  	case OP_EXACTI:
 27498  		goto __248
 27499  	case OP_NOTEXACTI:
 27500  		goto __249
 27501  	// Fall through
 27502  	case OP_EXACT:
 27503  		goto __250
 27504  	case OP_NOTEXACT:
 27505  		goto __251
 27506  
 27507  	//-----------------------------------------------------------------
 27508  	case OP_UPTOI:
 27509  		goto __252
 27510  	case OP_MINUPTOI:
 27511  		goto __253
 27512  	case OP_POSUPTOI:
 27513  		goto __254
 27514  	case OP_NOTUPTOI:
 27515  		goto __255
 27516  	case OP_NOTMINUPTOI:
 27517  		goto __256
 27518  	case OP_NOTPOSUPTOI:
 27519  		goto __257
 27520  	// Fall through
 27521  	case OP_UPTO:
 27522  		goto __258
 27523  	case OP_MINUPTO:
 27524  		goto __259
 27525  	case OP_POSUPTO:
 27526  		goto __260
 27527  	case OP_NOTUPTO:
 27528  		goto __261
 27529  	case OP_NOTMINUPTO:
 27530  		goto __262
 27531  	case OP_NOTPOSUPTO:
 27532  		goto __263
 27533  
 27534  		// ==========================================================================
 27535  	// These are the class-handling opcodes
 27536  
 27537  	case OP_CLASS:
 27538  		goto __264
 27539  	case OP_NCLASS:
 27540  		goto __265
 27541  	case OP_XCLASS:
 27542  		goto __266
 27543  
 27544  		// ==========================================================================
 27545  	// These are the opcodes for fancy brackets of various kinds. We have
 27546  	//       to use recursion in order to handle them. The "always failing" assertion
 27547  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 27548  	//       though the other "backtracking verbs" are not supported.
 27549  
 27550  	case OP_FAIL:
 27551  		goto __267
 27552  
 27553  	case OP_ASSERT:
 27554  		goto __268
 27555  	case OP_ASSERT_NOT:
 27556  		goto __269
 27557  	case OP_ASSERTBACK:
 27558  		goto __270
 27559  	case OP_ASSERTBACK_NOT:
 27560  		goto __271
 27561  
 27562  	//-----------------------------------------------------------------
 27563  	case OP_COND:
 27564  		goto __272
 27565  	case OP_SCOND:
 27566  		goto __273
 27567  
 27568  	//-----------------------------------------------------------------
 27569  	case OP_RECURSE:
 27570  		goto __274
 27571  
 27572  	//-----------------------------------------------------------------
 27573  	case OP_BRAPOS:
 27574  		goto __275
 27575  	case OP_SBRAPOS:
 27576  		goto __276
 27577  	case OP_CBRAPOS:
 27578  		goto __277
 27579  	case OP_SCBRAPOS:
 27580  		goto __278
 27581  	case OP_BRAPOSZERO:
 27582  		goto __279
 27583  
 27584  	//-----------------------------------------------------------------
 27585  	case OP_ONCE:
 27586  		goto __280
 27587  
 27588  		// ==========================================================================
 27589  	// Handle callouts
 27590  
 27591  	case OP_CALLOUT:
 27592  		goto __281
 27593  	case OP_CALLOUT_STR:
 27594  		goto __282
 27595  
 27596  		// ==========================================================================
 27597  	default:
 27598  		goto __283
 27599  	}
 27600  	goto __89
 27601  
 27602  	// ==========================================================================
 27603  	// These cases are never obeyed. This is a fudge that causes a compile-
 27604  	//       time error if the vectors coptable or poptable, which are indexed by
 27605  	//       opcode, are not the correct length. It seems to be the only way to do
 27606  	//       such a check at compile time, as the sizeof() operator does not work
 27607  	//       in the C preprocessor.
 27608  
 27609  __90:
 27610  __91:
 27611  	return 0
 27612  
 27613  	// ==========================================================================
 27614  	// Reached a closing bracket. If not at the end of the pattern, carry
 27615  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27616  	//       state. Note that KETRPOS will always be encountered at the end of the
 27617  	//       subpattern, because the possessive subpattern repeats are always handled
 27618  	//       using recursive calls. Thus, it never adds any new states.
 27619  	//
 27620  	//       At the end of the (sub)pattern, unless we have an empty string and
 27621  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27622  	//       start of the subject, save the match data, shifting up all previous
 27623  	//       matches so we always have the longest first.
 27624  
 27625  __92:
 27626  __93:
 27627  __94:
 27628  __95:
 27629  	if !(code != end_code) {
 27630  		goto __284
 27631  	}
 27632  
 27633  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27634  		goto __286
 27635  	}
 27636  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DLINK_SIZE
 27637  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27638  	next_active_state += 12
 27639  	goto __287
 27640  __286:
 27641  	return -43
 27642  __287:
 27643  	;
 27644  	if !(codevalue != OP_KET) {
 27645  		goto __288
 27646  	}
 27647  
 27648  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27649  		goto __289
 27650  	}
 27651  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset - int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27652  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27653  	next_active_state += 12
 27654  	goto __290
 27655  __289:
 27656  	return -43
 27657  __290:
 27658  	;
 27659  __288:
 27660  	;
 27661  	goto __285
 27662  __284:
 27663  
 27664  	if !(ptr > current_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART == Tuint32_t(0) || current_subject > start_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset))) {
 27665  		goto __291
 27666  	}
 27667  
 27668  	if !(match_count < 0) {
 27669  		goto __292
 27670  	}
 27671  	if offsetcount >= Tuint32_t(2) {
 27672  		match_count = 1
 27673  	} else {
 27674  		match_count = 0
 27675  	}
 27676  	goto __293
 27677  __292:
 27678  	if !(match_count > 0 && libc.PreIncInt32(&match_count, 1)*2 > int32(offsetcount)) {
 27679  		goto __294
 27680  	}
 27681  	match_count = 0
 27682  __294:
 27683  	;
 27684  __293:
 27685  	;
 27686  	count = func() int32 {
 27687  		if match_count == 0 {
 27688  			return int32(offsetcount)
 27689  		}
 27690  		return match_count * 2
 27691  	}() - 2
 27692  	if !(count > 0) {
 27693  		goto __295
 27694  	}
 27695  	libc.Xmemmove(tls, offsets+uintptr(2)*8, offsets,
 27696  		Tsize_t(count)*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 27697  __295:
 27698  	;
 27699  	if !(offsetcount >= Tuint32_t(2)) {
 27700  		goto __296
 27701  	}
 27702  
 27703  	*(*Tsize_t)(unsafe.Pointer(offsets)) = Tsize_t((int64(current_subject) - int64(start_subject)) / 1)
 27704  	*(*Tsize_t)(unsafe.Pointer(offsets + 1*8)) = Tsize_t((int64(ptr) - int64(start_subject)) / 1)
 27705  __296:
 27706  	;
 27707  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_SHORTEST != Tuint32_t(0)) {
 27708  		goto __297
 27709  	}
 27710  	return match_count
 27711  __297:
 27712  	;
 27713  __291:
 27714  	;
 27715  __285:
 27716  	;
 27717  	goto __89
 27718  
 27719  	// ==========================================================================
 27720  	// These opcodes add to the current list of states without looking
 27721  	//       at the current character.
 27722  
 27723  	//-----------------------------------------------------------------
 27724  __96:
 27725  __298:
 27726  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27727  	goto __299
 27728  __299:
 27729  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27730  		goto __298
 27731  	}
 27732  	goto __300
 27733  __300:
 27734  	;
 27735  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27736  		goto __301
 27737  	}
 27738  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code) - int64(start_code)) / 1)
 27739  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27740  	next_active_state += 12
 27741  	goto __302
 27742  __301:
 27743  	return -43
 27744  __302:
 27745  	;
 27746  	goto __89
 27747  
 27748  	//-----------------------------------------------------------------
 27749  __97:
 27750  __98:
 27751  __303:
 27752  
 27753  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27754  		goto __306
 27755  	}
 27756  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27757  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27758  	next_active_state += 12
 27759  	goto __307
 27760  __306:
 27761  	return -43
 27762  __307:
 27763  	;
 27764  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27765  	goto __304
 27766  __304:
 27767  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27768  		goto __303
 27769  	}
 27770  	goto __305
 27771  __305:
 27772  	;
 27773  	goto __89
 27774  
 27775  	//-----------------------------------------------------------------
 27776  __99:
 27777  __100:
 27778  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27779  		goto __308
 27780  	}
 27781  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(DIMM2_SIZE))
 27782  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27783  	next_active_state += 12
 27784  	goto __309
 27785  __308:
 27786  	return -43
 27787  __309:
 27788  	;
 27789  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27790  __310:
 27791  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27792  		goto __311
 27793  	}
 27794  
 27795  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27796  		goto __312
 27797  	}
 27798  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27799  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27800  	next_active_state += 12
 27801  	goto __313
 27802  __312:
 27803  	return -43
 27804  __313:
 27805  	;
 27806  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27807  	goto __310
 27808  __311:
 27809  	;
 27810  	goto __89
 27811  
 27812  	//-----------------------------------------------------------------
 27813  __101:
 27814  __102:
 27815  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27816  		goto __314
 27817  	}
 27818  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27819  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27820  	next_active_state += 12
 27821  	goto __315
 27822  __314:
 27823  	return -43
 27824  __315:
 27825  	;
 27826  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27827  __316:
 27828  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27829  		goto __317
 27830  	}
 27831  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27832  	goto __316
 27833  __317:
 27834  	;
 27835  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27836  		goto __318
 27837  	}
 27838  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27839  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27840  	next_active_state += 12
 27841  	goto __319
 27842  __318:
 27843  	return -43
 27844  __319:
 27845  	;
 27846  	goto __89
 27847  
 27848  	//-----------------------------------------------------------------
 27849  __103:
 27850  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27851  __320:
 27852  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27853  		goto __321
 27854  	}
 27855  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27856  	goto __320
 27857  __321:
 27858  	;
 27859  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27860  		goto __322
 27861  	}
 27862  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27863  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27864  	next_active_state += 12
 27865  	goto __323
 27866  __322:
 27867  	return -43
 27868  __323:
 27869  	;
 27870  	goto __89
 27871  
 27872  	//-----------------------------------------------------------------
 27873  __104:
 27874  	if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0)) {
 27875  		goto __324
 27876  	}
 27877  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27878  		goto __325
 27879  	}
 27880  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27881  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27882  	next_active_state += 12
 27883  	goto __326
 27884  __325:
 27885  	return -43
 27886  __326:
 27887  	;
 27888  __324:
 27889  	;
 27890  	goto __89
 27891  
 27892  	//-----------------------------------------------------------------
 27893  __105:
 27894  	if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0) || (ptr != end_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX != Tuint32_t(0)) &&
 27895  		func() int32 {
 27896  			if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27897  				return libc.Bool32(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 27898  			}
 27899  			return libc.Bool32(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 27900  		}() != 0) {
 27901  		goto __327
 27902  	}
 27903  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27904  		goto __328
 27905  	}
 27906  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27907  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27908  	next_active_state += 12
 27909  	goto __329
 27910  __328:
 27911  	return -43
 27912  __329:
 27913  	;
 27914  __327:
 27915  	;
 27916  	goto __89
 27917  
 27918  	//-----------------------------------------------------------------
 27919  __106:
 27920  	if !(ptr >= end_subject) {
 27921  		goto __330
 27922  	}
 27923  
 27924  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 27925  		goto __331
 27926  	}
 27927  	return -2
 27928  	goto __332
 27929  __331:
 27930  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27931  		goto __333
 27932  	}
 27933  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27934  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27935  	next_active_state += 12
 27936  	goto __334
 27937  __333:
 27938  	return -43
 27939  __334:
 27940  	;
 27941  __332:
 27942  	;
 27943  __330:
 27944  	;
 27945  	goto __89
 27946  
 27947  	//-----------------------------------------------------------------
 27948  __107:
 27949  	if !(ptr == start_subject) {
 27950  		goto __335
 27951  	}
 27952  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27953  		goto __336
 27954  	}
 27955  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27956  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27957  	next_active_state += 12
 27958  	goto __337
 27959  __336:
 27960  	return -43
 27961  __337:
 27962  	;
 27963  __335:
 27964  	;
 27965  	goto __89
 27966  
 27967  	//-----------------------------------------------------------------
 27968  __108:
 27969  	if !(ptr == start_subject+uintptr(start_offset)) {
 27970  		goto __338
 27971  	}
 27972  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27973  		goto __339
 27974  	}
 27975  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27976  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27977  	next_active_state += 12
 27978  	goto __340
 27979  __339:
 27980  	return -43
 27981  __340:
 27982  	;
 27983  __338:
 27984  	;
 27985  	goto __89
 27986  
 27987  	// ==========================================================================
 27988  	// These opcodes inspect the next subject character, and sometimes
 27989  	//       the previous one as well, but do not have an argument. The variable
 27990  	//       clen contains the length of the current character and is zero if we are
 27991  	//       at the end of the subject.
 27992  
 27993  	//-----------------------------------------------------------------
 27994  __109:
 27995  	if !(clen > 0 && !(func() int32 {
 27996  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27997  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 27998  		}
 27999  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28000  	}() != 0)) {
 28001  		goto __341
 28002  	}
 28003  
 28004  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28005  		goto __342
 28006  	}
 28007  
 28008  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28009  	goto __343
 28010  __342:
 28011  
 28012  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28013  		goto __344
 28014  	}
 28015  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28016  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28017  	next_new_state += 12
 28018  	goto __345
 28019  __344:
 28020  	return -43
 28021  __345:
 28022  	;
 28023  __343:
 28024  	;
 28025  __341:
 28026  	;
 28027  	goto __89
 28028  
 28029  	//-----------------------------------------------------------------
 28030  __110:
 28031  	if !(clen > 0) {
 28032  		goto __346
 28033  	}
 28034  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28035  		goto __347
 28036  	}
 28037  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28038  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28039  	next_new_state += 12
 28040  	goto __348
 28041  __347:
 28042  	return -43
 28043  __348:
 28044  	;
 28045  __346:
 28046  	;
 28047  	goto __89
 28048  
 28049  	//-----------------------------------------------------------------
 28050  __111:
 28051  	if !(clen == 0 || func() int32 {
 28052  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28053  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28054  		}
 28055  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28056  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28057  		goto __349
 28058  	}
 28059  
 28060  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28061  		goto __350
 28062  	}
 28063  	return -2
 28064  __350:
 28065  	;
 28066  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28067  		goto __351
 28068  	}
 28069  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28070  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28071  	next_active_state += 12
 28072  	goto __352
 28073  __351:
 28074  	return -43
 28075  __352:
 28076  	;
 28077  __349:
 28078  	;
 28079  	goto __89
 28080  
 28081  	//-----------------------------------------------------------------
 28082  __112:
 28083  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28084  		goto __353
 28085  	}
 28086  
 28087  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28088  		goto __354
 28089  	}
 28090  	could_continue = DTRUE
 28091  	goto __355
 28092  __354:
 28093  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28094  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28095  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28096  		}
 28097  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28098  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28099  		goto __356
 28100  	}
 28101  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28102  		goto __358
 28103  	}
 28104  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28105  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28106  	next_active_state += 12
 28107  	goto __359
 28108  __358:
 28109  	return -43
 28110  __359:
 28111  	;
 28112  	goto __357
 28113  __356:
 28114  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28115  		goto __360
 28116  	}
 28117  
 28118  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28119  		goto __361
 28120  	}
 28121  
 28122  	reset_could_continue = DTRUE
 28123  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28124  		goto __363
 28125  	}
 28126  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28127  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28128  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28129  	next_new_state += 12
 28130  	goto __364
 28131  __363:
 28132  	return -43
 28133  __364:
 28134  	;
 28135  	goto __362
 28136  __361:
 28137  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28138  __362:
 28139  	;
 28140  __360:
 28141  	;
 28142  __357:
 28143  	;
 28144  __355:
 28145  	;
 28146  __353:
 28147  	;
 28148  	goto __89
 28149  
 28150  	//-----------------------------------------------------------------
 28151  __113:
 28152  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28153  		goto __365
 28154  	}
 28155  
 28156  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28157  		goto __367
 28158  	}
 28159  	could_continue = DTRUE
 28160  	goto __368
 28161  __367:
 28162  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28163  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28164  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28165  		}
 28166  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28167  	}() != 0) {
 28168  		goto __369
 28169  	}
 28170  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28171  		goto __371
 28172  	}
 28173  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28174  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28175  	next_active_state += 12
 28176  	goto __372
 28177  __371:
 28178  	return -43
 28179  __372:
 28180  	;
 28181  	goto __370
 28182  __369:
 28183  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28184  		goto __373
 28185  	}
 28186  
 28187  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28188  		goto __374
 28189  	}
 28190  
 28191  	reset_could_continue = DTRUE
 28192  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28193  		goto __376
 28194  	}
 28195  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28196  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28197  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28198  	next_new_state += 12
 28199  	goto __377
 28200  __376:
 28201  	return -43
 28202  __377:
 28203  	;
 28204  	goto __375
 28205  __374:
 28206  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28207  __375:
 28208  	;
 28209  __373:
 28210  	;
 28211  __370:
 28212  	;
 28213  __368:
 28214  	;
 28215  	goto __366
 28216  __365:
 28217  	if !(func() int32 {
 28218  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28219  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28220  		}
 28221  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28222  	}() != 0) {
 28223  		goto __378
 28224  	}
 28225  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28226  		goto __379
 28227  	}
 28228  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28229  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28230  	next_active_state += 12
 28231  	goto __380
 28232  __379:
 28233  	return -43
 28234  __380:
 28235  	;
 28236  __378:
 28237  	;
 28238  __366:
 28239  	;
 28240  	goto __89
 28241  
 28242  	//-----------------------------------------------------------------
 28243  
 28244  __114:
 28245  __115:
 28246  __116:
 28247  	if !(clen > 0 && c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0) {
 28248  		goto __381
 28249  	}
 28250  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28251  		goto __382
 28252  	}
 28253  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28254  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28255  	next_new_state += 12
 28256  	goto __383
 28257  __382:
 28258  	return -43
 28259  __383:
 28260  	;
 28261  __381:
 28262  	;
 28263  	goto __89
 28264  
 28265  	//-----------------------------------------------------------------
 28266  __117:
 28267  __118:
 28268  __119:
 28269  	if !(clen > 0 && (c >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0)) {
 28270  		goto __384
 28271  	}
 28272  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28273  		goto __385
 28274  	}
 28275  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28276  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28277  	next_new_state += 12
 28278  	goto __386
 28279  __385:
 28280  	return -43
 28281  __386:
 28282  	;
 28283  __384:
 28284  	;
 28285  	goto __89
 28286  
 28287  	//-----------------------------------------------------------------
 28288  __120:
 28289  __121:
 28290  
 28291  	if !(ptr > start_subject) {
 28292  		goto __387
 28293  	}
 28294  
 28295  	temp = ptr - uintptr(1)
 28296  	if !(temp < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 28297  		goto __389
 28298  	}
 28299  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = temp
 28300  __389:
 28301  	;
 28302  	if !(utf != 0) {
 28303  		goto __390
 28304  	}
 28305  __391:
 28306  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))&0xc0 == 0x80) {
 28307  		goto __392
 28308  	}
 28309  	temp--
 28310  	goto __391
 28311  __392:
 28312  	;
 28313  __390:
 28314  	;
 28315  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))
 28316  	if !(utf != 0 && d >= 0xc0) {
 28317  		goto __393
 28318  	}
 28319  	if !(d&0x20 == Tuint32_t(0)) {
 28320  		goto __394
 28321  	}
 28322  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f
 28323  	goto __395
 28324  __394:
 28325  	if !(d&0x10 == Tuint32_t(0)) {
 28326  		goto __396
 28327  	}
 28328  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f
 28329  	goto __397
 28330  __396:
 28331  	if !(d&0x08 == Tuint32_t(0)) {
 28332  		goto __398
 28333  	}
 28334  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f
 28335  	goto __399
 28336  __398:
 28337  	if !(d&0x04 == Tuint32_t(0)) {
 28338  		goto __400
 28339  	}
 28340  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f
 28341  	goto __401
 28342  __400:
 28343  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 5)))&0x3f
 28344  __401:
 28345  	;
 28346  __399:
 28347  	;
 28348  __397:
 28349  	;
 28350  __395:
 28351  	;
 28352  __393:
 28353  	;
 28354  
 28355  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28356  		goto __402
 28357  	}
 28358  
 28359  	if !(d == Tuint32_t('_')) {
 28360  		goto __404
 28361  	}
 28362  	left_word = DTRUE
 28363  	goto __405
 28364  __404:
 28365  
 28366  	cat = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fchartype]
 28367  	left_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 28368  __405:
 28369  	;
 28370  	goto __403
 28371  __402:
 28372  	left_word = libc.Bool32(d < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(d))))&Dctype_word != 0)
 28373  __403:
 28374  	;
 28375  	goto __388
 28376  __387:
 28377  	left_word = DFALSE
 28378  __388:
 28379  	;
 28380  
 28381  	if !(clen > 0) {
 28382  		goto __406
 28383  	}
 28384  
 28385  	if !(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 28386  		goto __408
 28387  	}
 28388  
 28389  	temp1 = ptr + uintptr(1)
 28390  	if !(utf != 0) {
 28391  		goto __409
 28392  	}
 28393  __410:
 28394  	if !(temp1 < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp1)))&0xc0 == 0x80) {
 28395  		goto __411
 28396  	}
 28397  	temp1++
 28398  	goto __410
 28399  __411:
 28400  	;
 28401  __409:
 28402  	;
 28403  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = temp1
 28404  __408:
 28405  	;
 28406  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28407  		goto __412
 28408  	}
 28409  
 28410  	if !(c == Tuint32_t('_')) {
 28411  		goto __414
 28412  	}
 28413  	right_word = DTRUE
 28414  	goto __415
 28415  __414:
 28416  
 28417  	cat1 = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype]
 28418  	right_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 28419  __415:
 28420  	;
 28421  	goto __413
 28422  __412:
 28423  	right_word = libc.Bool32(c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&Dctype_word != 0)
 28424  __413:
 28425  	;
 28426  	goto __407
 28427  __406:
 28428  	right_word = DFALSE
 28429  __407:
 28430  	;
 28431  
 28432  	if !(libc.Bool32(left_word == right_word) == libc.Bool32(codevalue == OP_NOT_WORD_BOUNDARY)) {
 28433  		goto __416
 28434  	}
 28435  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28436  		goto __417
 28437  	}
 28438  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28439  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28440  	next_active_state += 12
 28441  	goto __418
 28442  __417:
 28443  	return -43
 28444  __418:
 28445  	;
 28446  __416:
 28447  	;
 28448  
 28449  	goto __89
 28450  
 28451  	//-----------------------------------------------------------------
 28452  	// Check the next character by Unicode property. We will get here only
 28453  	//       if the support is in the binary; otherwise a compile-time error occurs.
 28454  	//
 28455  
 28456  __122:
 28457  __123:
 28458  	if !(clen > 0) {
 28459  		goto __419
 28460  	}
 28461  
 28462  	prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 28463  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) {
 28464  	case DPT_ANY:
 28465  		goto __421
 28466  
 28467  	case DPT_LAMP:
 28468  		goto __422
 28469  
 28470  	case DPT_GC:
 28471  		goto __423
 28472  
 28473  	case DPT_PC:
 28474  		goto __424
 28475  
 28476  	case DPT_SC:
 28477  		goto __425
 28478  
 28479  	case DPT_SCX:
 28480  		goto __426
 28481  
 28482  	// These are specials for combination cases.
 28483  
 28484  	case DPT_ALNUM:
 28485  		goto __427
 28486  
 28487  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28488  	//           which means that Perl space and POSIX space are now identical. PCRE
 28489  	//           was changed at release 8.34.
 28490  
 28491  	case DPT_SPACE:
 28492  		goto __428 // Perl space
 28493  	case DPT_PXSPACE:
 28494  		goto __429
 28495  
 28496  	case DPT_WORD:
 28497  		goto __430
 28498  
 28499  	case DPT_CLIST:
 28500  		goto __431
 28501  
 28502  	case DPT_UCNC:
 28503  		goto __432
 28504  
 28505  	case DPT_BIDICL:
 28506  		goto __433
 28507  
 28508  	case DPT_BOOL:
 28509  		goto __434
 28510  
 28511  	// Should never occur, but keep compilers from grumbling.
 28512  
 28513  	default:
 28514  		goto __435
 28515  	}
 28516  	goto __420
 28517  
 28518  __421:
 28519  	OK = DTRUE
 28520  	goto __420
 28521  
 28522  __422:
 28523  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt)
 28524  	goto __420
 28525  
 28526  __423:
 28527  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28528  	goto __420
 28529  
 28530  __424:
 28531  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28532  	goto __420
 28533  
 28534  __425:
 28535  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28536  	goto __420
 28537  
 28538  __426:
 28539  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0))
 28540  	goto __420
 28541  
 28542  	// These are specials for combination cases.
 28543  
 28544  __427:
 28545  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N)
 28546  	goto __420
 28547  
 28548  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28549  	//           which means that Perl space and POSIX space are now identical. PCRE
 28550  	//           was changed at release 8.34.
 28551  
 28552  __428: // Perl space
 28553  __429: // POSIX space
 28554  	switch c {
 28555  	case Tuint32_t('\011'):
 28556  		goto __437
 28557  	case Tuint32_t('\040'):
 28558  		goto __438
 28559  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 28560  		goto __439
 28561  	case Tuint32_t(0x1680):
 28562  		goto __440 /* OGHAM SPACE MARK */
 28563  	case Tuint32_t(0x180e):
 28564  		goto __441 /* MONGOLIAN VOWEL SEPARATOR */
 28565  	case Tuint32_t(0x2000):
 28566  		goto __442 /* EN QUAD */
 28567  	case Tuint32_t(0x2001):
 28568  		goto __443 /* EM QUAD */
 28569  	case Tuint32_t(0x2002):
 28570  		goto __444 /* EN SPACE */
 28571  	case Tuint32_t(0x2003):
 28572  		goto __445 /* EM SPACE */
 28573  	case Tuint32_t(0x2004):
 28574  		goto __446 /* THREE-PER-EM SPACE */
 28575  	case Tuint32_t(0x2005):
 28576  		goto __447 /* FOUR-PER-EM SPACE */
 28577  	case Tuint32_t(0x2006):
 28578  		goto __448 /* SIX-PER-EM SPACE */
 28579  	case Tuint32_t(0x2007):
 28580  		goto __449 /* FIGURE SPACE */
 28581  	case Tuint32_t(0x2008):
 28582  		goto __450 /* PUNCTUATION SPACE */
 28583  	case Tuint32_t(0x2009):
 28584  		goto __451 /* THIN SPACE */
 28585  	case Tuint32_t(0x200A):
 28586  		goto __452 /* HAIR SPACE */
 28587  	case Tuint32_t(0x202f):
 28588  		goto __453 /* NARROW NO-BREAK SPACE */
 28589  	case Tuint32_t(0x205f):
 28590  		goto __454 /* MEDIUM MATHEMATICAL SPACE */
 28591  	case Tuint32_t(0x3000):
 28592  		goto __455
 28593  	case Tuint32_t('\012'):
 28594  		goto __456
 28595  	case Tuint32_t('\013'):
 28596  		goto __457
 28597  	case Tuint32_t('\014'):
 28598  		goto __458
 28599  	case Tuint32_t('\015'):
 28600  		goto __459
 28601  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 28602  		goto __460
 28603  	case Tuint32_t(0x2028):
 28604  		goto __461 /* LINE SEPARATOR */
 28605  	case Tuint32_t(0x2029):
 28606  		goto __462
 28607  
 28608  	default:
 28609  		goto __463
 28610  	}
 28611  	goto __436
 28612  
 28613  __437:
 28614  __438:
 28615  __439:
 28616  __440: /* OGHAM SPACE MARK */
 28617  __441: /* MONGOLIAN VOWEL SEPARATOR */
 28618  __442: /* EN QUAD */
 28619  __443: /* EM QUAD */
 28620  __444: /* EN SPACE */
 28621  __445: /* EM SPACE */
 28622  __446: /* THREE-PER-EM SPACE */
 28623  __447: /* FOUR-PER-EM SPACE */
 28624  __448: /* SIX-PER-EM SPACE */
 28625  __449: /* FIGURE SPACE */
 28626  __450: /* PUNCTUATION SPACE */
 28627  __451: /* THIN SPACE */
 28628  __452: /* HAIR SPACE */
 28629  __453: /* NARROW NO-BREAK SPACE */
 28630  __454: /* MEDIUM MATHEMATICAL SPACE */
 28631  __455:
 28632  __456:
 28633  __457:
 28634  __458:
 28635  __459:
 28636  __460:
 28637  __461: /* LINE SEPARATOR */
 28638  __462:
 28639  	OK = DTRUE
 28640  	goto __436
 28641  
 28642  __463:
 28643  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z)
 28644  	goto __436
 28645  __436:
 28646  	;
 28647  	goto __420
 28648  
 28649  __430:
 28650  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 28651  	goto __420
 28652  
 28653  __431:
 28654  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))*4
 28655  __464:
 28656  
 28657  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 28658  		goto __467
 28659  	}
 28660  	OK = DFALSE
 28661  	goto __466
 28662  __467:
 28663  	;
 28664  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 28665  		goto __468
 28666  	}
 28667  	OK = DTRUE
 28668  	goto __466
 28669  __468:
 28670  	;
 28671  	goto __465
 28672  __465:
 28673  	goto __464
 28674  	goto __466
 28675  __466:
 28676  	;
 28677  	goto __420
 28678  
 28679  __432:
 28680  	OK = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 28681  	goto __420
 28682  
 28683  __433:
 28684  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28685  	goto __420
 28686  
 28687  __434:
 28688  	OK = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0))
 28689  	goto __420
 28690  
 28691  	// Should never occur, but keep compilers from grumbling.
 28692  
 28693  __435:
 28694  	OK = libc.Bool32(codevalue != OP_PROP)
 28695  	goto __420
 28696  __420:
 28697  	;
 28698  
 28699  	if !(OK == libc.Bool32(codevalue == OP_PROP)) {
 28700  		goto __469
 28701  	}
 28702  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28703  		goto __470
 28704  	}
 28705  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 3
 28706  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28707  	next_new_state += 12
 28708  	goto __471
 28709  __470:
 28710  	return -43
 28711  __471:
 28712  	;
 28713  __469:
 28714  	;
 28715  __419:
 28716  	;
 28717  	goto __89
 28718  
 28719  	// ==========================================================================
 28720  	// These opcodes likewise inspect the subject character, but have an
 28721  	//       argument that is not a data character. It is one of these opcodes:
 28722  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 28723  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 28724  
 28725  __124:
 28726  __125:
 28727  __126:
 28728  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 28729  	if !(count > 0) {
 28730  		goto __472
 28731  	}
 28732  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28733  		goto __473
 28734  	}
 28735  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28736  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28737  	next_active_state += 12
 28738  	goto __474
 28739  __473:
 28740  	return -43
 28741  __474:
 28742  	;
 28743  __472:
 28744  	;
 28745  	if !(clen > 0) {
 28746  		goto __475
 28747  	}
 28748  
 28749  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28750  		goto __476
 28751  	}
 28752  
 28753  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28754  	goto __477
 28755  __476:
 28756  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28757  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28758  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28759  		}
 28760  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28761  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28762  		goto __478
 28763  	}
 28764  
 28765  	if !(count > 0 && codevalue == OP_TYPEPOSPLUS) {
 28766  		goto __479
 28767  	}
 28768  
 28769  	active_count-- // Remove non-match possibility
 28770  	next_active_state -= 12
 28771  __479:
 28772  	;
 28773  	count++
 28774  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28775  		goto __480
 28776  	}
 28777  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28778  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28779  	next_new_state += 12
 28780  	goto __481
 28781  __480:
 28782  	return -43
 28783  __481:
 28784  	;
 28785  __478:
 28786  	;
 28787  __477:
 28788  	;
 28789  __475:
 28790  	;
 28791  	goto __89
 28792  
 28793  	//-----------------------------------------------------------------
 28794  __127:
 28795  __128:
 28796  __129:
 28797  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28798  		goto __482
 28799  	}
 28800  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28801  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28802  	next_active_state += 12
 28803  	goto __483
 28804  __482:
 28805  	return -43
 28806  __483:
 28807  	;
 28808  	if !(clen > 0) {
 28809  		goto __484
 28810  	}
 28811  
 28812  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28813  		goto __485
 28814  	}
 28815  
 28816  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28817  	goto __486
 28818  __485:
 28819  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28820  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28821  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28822  		}
 28823  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28824  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28825  		goto __487
 28826  	}
 28827  
 28828  	if !(codevalue == OP_TYPEPOSQUERY) {
 28829  		goto __488
 28830  	}
 28831  
 28832  	active_count-- // Remove non-match possibility
 28833  	next_active_state -= 12
 28834  __488:
 28835  	;
 28836  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28837  		goto __489
 28838  	}
 28839  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 28840  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28841  	next_new_state += 12
 28842  	goto __490
 28843  __489:
 28844  	return -43
 28845  __490:
 28846  	;
 28847  __487:
 28848  	;
 28849  __486:
 28850  	;
 28851  __484:
 28852  	;
 28853  	goto __89
 28854  
 28855  	//-----------------------------------------------------------------
 28856  __130:
 28857  __131:
 28858  __132:
 28859  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28860  		goto __491
 28861  	}
 28862  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28863  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28864  	next_active_state += 12
 28865  	goto __492
 28866  __491:
 28867  	return -43
 28868  __492:
 28869  	;
 28870  	if !(clen > 0) {
 28871  		goto __493
 28872  	}
 28873  
 28874  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28875  		goto __494
 28876  	}
 28877  
 28878  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28879  	goto __495
 28880  __494:
 28881  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28882  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28883  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28884  		}
 28885  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28886  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28887  		goto __496
 28888  	}
 28889  
 28890  	if !(codevalue == OP_TYPEPOSSTAR) {
 28891  		goto __497
 28892  	}
 28893  
 28894  	active_count-- // Remove non-match possibility
 28895  	next_active_state -= 12
 28896  __497:
 28897  	;
 28898  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28899  		goto __498
 28900  	}
 28901  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28902  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28903  	next_new_state += 12
 28904  	goto __499
 28905  __498:
 28906  	return -43
 28907  __499:
 28908  	;
 28909  __496:
 28910  	;
 28911  __495:
 28912  	;
 28913  __493:
 28914  	;
 28915  	goto __89
 28916  
 28917  	//-----------------------------------------------------------------
 28918  __133:
 28919  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28920  	if !(clen > 0) {
 28921  		goto __500
 28922  	}
 28923  
 28924  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28925  		goto __501
 28926  	}
 28927  
 28928  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28929  	goto __502
 28930  __501:
 28931  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28932  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28933  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28934  		}
 28935  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28936  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28937  		goto __503
 28938  	}
 28939  
 28940  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 28941  		goto __504
 28942  	}
 28943  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28944  		goto __506
 28945  	}
 28946  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 1
 28947  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28948  	next_new_state += 12
 28949  	goto __507
 28950  __506:
 28951  	return -43
 28952  __507:
 28953  	;
 28954  	goto __505
 28955  __504:
 28956  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28957  		goto __508
 28958  	}
 28959  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28960  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28961  	next_new_state += 12
 28962  	goto __509
 28963  __508:
 28964  	return -43
 28965  __509:
 28966  	;
 28967  __505:
 28968  	;
 28969  __503:
 28970  	;
 28971  __502:
 28972  	;
 28973  __500:
 28974  	;
 28975  	goto __89
 28976  
 28977  	//-----------------------------------------------------------------
 28978  __134:
 28979  __135:
 28980  __136:
 28981  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28982  		goto __510
 28983  	}
 28984  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 28985  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28986  	next_active_state += 12
 28987  	goto __511
 28988  __510:
 28989  	return -43
 28990  __511:
 28991  	;
 28992  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28993  	if !(clen > 0) {
 28994  		goto __512
 28995  	}
 28996  
 28997  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28998  		goto __513
 28999  	}
 29000  
 29001  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 29002  	goto __514
 29003  __513:
 29004  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 29005  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 29006  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 29007  		}
 29008  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 29009  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 29010  		goto __515
 29011  	}
 29012  
 29013  	if !(codevalue == OP_TYPEPOSUPTO) {
 29014  		goto __516
 29015  	}
 29016  
 29017  	active_count-- // Remove non-match possibility
 29018  	next_active_state -= 12
 29019  __516:
 29020  	;
 29021  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 29022  		goto __517
 29023  	}
 29024  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29025  		goto __519
 29026  	}
 29027  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 29028  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 29029  	next_new_state += 12
 29030  	goto __520
 29031  __519:
 29032  	return -43
 29033  __520:
 29034  	;
 29035  	goto __518
 29036  __517:
 29037  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29038  		goto __521
 29039  	}
 29040  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29041  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29042  	next_new_state += 12
 29043  	goto __522
 29044  __521:
 29045  	return -43
 29046  __522:
 29047  	;
 29048  __518:
 29049  	;
 29050  __515:
 29051  	;
 29052  __514:
 29053  	;
 29054  __512:
 29055  	;
 29056  	goto __89
 29057  
 29058  	// ==========================================================================
 29059  	// These are virtual opcodes that are used when something like
 29060  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 29061  	//       argument. It keeps the code above fast for the other cases. The argument
 29062  	//       is in the d variable.
 29063  
 29064  __137:
 29065  __138:
 29066  __139:
 29067  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29068  	if !(count > 0) {
 29069  		goto __523
 29070  	}
 29071  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29072  		goto __524
 29073  	}
 29074  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29075  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29076  	next_active_state += 12
 29077  	goto __525
 29078  __524:
 29079  	return -43
 29080  __525:
 29081  	;
 29082  __523:
 29083  	;
 29084  	if !(clen > 0) {
 29085  		goto __526
 29086  	}
 29087  
 29088  	prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 29089  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29090  	case DPT_ANY:
 29091  		goto __528
 29092  
 29093  	case DPT_LAMP:
 29094  		goto __529
 29095  
 29096  	case DPT_GC:
 29097  		goto __530
 29098  
 29099  	case DPT_PC:
 29100  		goto __531
 29101  
 29102  	case DPT_SC:
 29103  		goto __532
 29104  
 29105  	case DPT_SCX:
 29106  		goto __533
 29107  
 29108  	// These are specials for combination cases.
 29109  
 29110  	case DPT_ALNUM:
 29111  		goto __534
 29112  
 29113  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29114  	//           which means that Perl space and POSIX space are now identical. PCRE
 29115  	//           was changed at release 8.34.
 29116  
 29117  	case DPT_SPACE:
 29118  		goto __535 // Perl space
 29119  	case DPT_PXSPACE:
 29120  		goto __536
 29121  
 29122  	case DPT_WORD:
 29123  		goto __537
 29124  
 29125  	case DPT_CLIST:
 29126  		goto __538
 29127  
 29128  	case DPT_UCNC:
 29129  		goto __539
 29130  
 29131  	case DPT_BIDICL:
 29132  		goto __540
 29133  
 29134  	case DPT_BOOL:
 29135  		goto __541
 29136  
 29137  	// Should never occur, but keep compilers from grumbling.
 29138  
 29139  	default:
 29140  		goto __542
 29141  	}
 29142  	goto __527
 29143  
 29144  __528:
 29145  	OK1 = DTRUE
 29146  	goto __527
 29147  
 29148  __529:
 29149  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lt)
 29150  	goto __527
 29151  
 29152  __530:
 29153  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29154  	goto __527
 29155  
 29156  __531:
 29157  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29158  	goto __527
 29159  
 29160  __532:
 29161  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29162  	goto __527
 29163  
 29164  __533:
 29165  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29166  	goto __527
 29167  
 29168  	// These are specials for combination cases.
 29169  
 29170  __534:
 29171  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N)
 29172  	goto __527
 29173  
 29174  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29175  	//           which means that Perl space and POSIX space are now identical. PCRE
 29176  	//           was changed at release 8.34.
 29177  
 29178  __535: // Perl space
 29179  __536: // POSIX space
 29180  	switch c {
 29181  	case Tuint32_t('\011'):
 29182  		goto __544
 29183  	case Tuint32_t('\040'):
 29184  		goto __545
 29185  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29186  		goto __546
 29187  	case Tuint32_t(0x1680):
 29188  		goto __547 /* OGHAM SPACE MARK */
 29189  	case Tuint32_t(0x180e):
 29190  		goto __548 /* MONGOLIAN VOWEL SEPARATOR */
 29191  	case Tuint32_t(0x2000):
 29192  		goto __549 /* EN QUAD */
 29193  	case Tuint32_t(0x2001):
 29194  		goto __550 /* EM QUAD */
 29195  	case Tuint32_t(0x2002):
 29196  		goto __551 /* EN SPACE */
 29197  	case Tuint32_t(0x2003):
 29198  		goto __552 /* EM SPACE */
 29199  	case Tuint32_t(0x2004):
 29200  		goto __553 /* THREE-PER-EM SPACE */
 29201  	case Tuint32_t(0x2005):
 29202  		goto __554 /* FOUR-PER-EM SPACE */
 29203  	case Tuint32_t(0x2006):
 29204  		goto __555 /* SIX-PER-EM SPACE */
 29205  	case Tuint32_t(0x2007):
 29206  		goto __556 /* FIGURE SPACE */
 29207  	case Tuint32_t(0x2008):
 29208  		goto __557 /* PUNCTUATION SPACE */
 29209  	case Tuint32_t(0x2009):
 29210  		goto __558 /* THIN SPACE */
 29211  	case Tuint32_t(0x200A):
 29212  		goto __559 /* HAIR SPACE */
 29213  	case Tuint32_t(0x202f):
 29214  		goto __560 /* NARROW NO-BREAK SPACE */
 29215  	case Tuint32_t(0x205f):
 29216  		goto __561 /* MEDIUM MATHEMATICAL SPACE */
 29217  	case Tuint32_t(0x3000):
 29218  		goto __562
 29219  	case Tuint32_t('\012'):
 29220  		goto __563
 29221  	case Tuint32_t('\013'):
 29222  		goto __564
 29223  	case Tuint32_t('\014'):
 29224  		goto __565
 29225  	case Tuint32_t('\015'):
 29226  		goto __566
 29227  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29228  		goto __567
 29229  	case Tuint32_t(0x2028):
 29230  		goto __568 /* LINE SEPARATOR */
 29231  	case Tuint32_t(0x2029):
 29232  		goto __569
 29233  
 29234  	default:
 29235  		goto __570
 29236  	}
 29237  	goto __543
 29238  
 29239  __544:
 29240  __545:
 29241  __546:
 29242  __547: /* OGHAM SPACE MARK */
 29243  __548: /* MONGOLIAN VOWEL SEPARATOR */
 29244  __549: /* EN QUAD */
 29245  __550: /* EM QUAD */
 29246  __551: /* EN SPACE */
 29247  __552: /* EM SPACE */
 29248  __553: /* THREE-PER-EM SPACE */
 29249  __554: /* FOUR-PER-EM SPACE */
 29250  __555: /* SIX-PER-EM SPACE */
 29251  __556: /* FIGURE SPACE */
 29252  __557: /* PUNCTUATION SPACE */
 29253  __558: /* THIN SPACE */
 29254  __559: /* HAIR SPACE */
 29255  __560: /* NARROW NO-BREAK SPACE */
 29256  __561: /* MEDIUM MATHEMATICAL SPACE */
 29257  __562:
 29258  __563:
 29259  __564:
 29260  __565:
 29261  __566:
 29262  __567:
 29263  __568: /* LINE SEPARATOR */
 29264  __569:
 29265  	OK1 = DTRUE
 29266  	goto __543
 29267  
 29268  __570:
 29269  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_Z)
 29270  	goto __543
 29271  __543:
 29272  	;
 29273  	goto __527
 29274  
 29275  __537:
 29276  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 29277  	goto __527
 29278  
 29279  __538:
 29280  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29281  __571:
 29282  
 29283  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 29284  		goto __574
 29285  	}
 29286  	OK1 = DFALSE
 29287  	goto __573
 29288  __574:
 29289  	;
 29290  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 29291  		goto __575
 29292  	}
 29293  	OK1 = DTRUE
 29294  	goto __573
 29295  __575:
 29296  	;
 29297  	goto __572
 29298  __572:
 29299  	goto __571
 29300  	goto __573
 29301  __573:
 29302  	;
 29303  	goto __527
 29304  
 29305  __539:
 29306  	OK1 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 29307  	goto __527
 29308  
 29309  __540:
 29310  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29311  	goto __527
 29312  
 29313  __541:
 29314  	OK1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29315  	goto __527
 29316  
 29317  	// Should never occur, but keep compilers from grumbling.
 29318  
 29319  __542:
 29320  	OK1 = libc.Bool32(codevalue != OP_PROP)
 29321  	goto __527
 29322  __527:
 29323  	;
 29324  
 29325  	if !(OK1 == libc.Bool32(d == OP_PROP)) {
 29326  		goto __576
 29327  	}
 29328  
 29329  	if !(count > 0 && codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSPLUS)) {
 29330  		goto __577
 29331  	}
 29332  
 29333  	active_count-- // Remove non-match possibility
 29334  	next_active_state -= 12
 29335  __577:
 29336  	;
 29337  	count++
 29338  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29339  		goto __578
 29340  	}
 29341  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29342  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29343  	next_new_state += 12
 29344  	goto __579
 29345  __578:
 29346  	return -43
 29347  __579:
 29348  	;
 29349  __576:
 29350  	;
 29351  __526:
 29352  	;
 29353  	goto __89
 29354  
 29355  	//-----------------------------------------------------------------
 29356  __140:
 29357  __141:
 29358  __142:
 29359  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29360  	if !(count > 0) {
 29361  		goto __580
 29362  	}
 29363  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29364  		goto __581
 29365  	}
 29366  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29367  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29368  	next_active_state += 12
 29369  	goto __582
 29370  __581:
 29371  	return -43
 29372  __582:
 29373  	;
 29374  __580:
 29375  	;
 29376  	if !(clen > 0) {
 29377  		goto __583
 29378  	}
 29379  
 29380  	*(*int32)(unsafe.Pointer(bp /* ncount */)) = 0
 29381  	if !(count > 0 && codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSPLUS)) {
 29382  		goto __584
 29383  	}
 29384  
 29385  	active_count-- // Remove non-match possibility
 29386  	next_active_state -= 12
 29387  __584:
 29388  	;
 29389  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 29390  		bp)
 29391  	count++
 29392  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29393  		goto __585
 29394  	}
 29395  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29396  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29397  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp))
 29398  	next_new_state += 12
 29399  	goto __586
 29400  __585:
 29401  	return -43
 29402  __586:
 29403  	;
 29404  __583:
 29405  	;
 29406  	goto __89
 29407  
 29408  	//-----------------------------------------------------------------
 29409  __143:
 29410  __144:
 29411  __145:
 29412  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29413  	if !(count > 0) {
 29414  		goto __587
 29415  	}
 29416  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29417  		goto __588
 29418  	}
 29419  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29420  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29421  	next_active_state += 12
 29422  	goto __589
 29423  __588:
 29424  	return -43
 29425  __589:
 29426  	;
 29427  __587:
 29428  	;
 29429  	if !(clen > 0) {
 29430  		goto __590
 29431  	}
 29432  	ncount1 = 0
 29433  	switch c {
 29434  	case Tuint32_t('\013'):
 29435  		goto __592
 29436  	case Tuint32_t('\014'):
 29437  		goto __593
 29438  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29439  		goto __594
 29440  	case Tuint32_t(0x2028):
 29441  		goto __595
 29442  	case Tuint32_t(0x2029):
 29443  		goto __596
 29444  
 29445  	case Tuint32_t('\015'):
 29446  		goto __597
 29447  	case Tuint32_t('\012'):
 29448  		goto __598
 29449  
 29450  	default:
 29451  		goto __599
 29452  	}
 29453  	goto __591
 29454  
 29455  __592:
 29456  __593:
 29457  __594:
 29458  __595:
 29459  __596:
 29460  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 29461  		goto __600
 29462  	}
 29463  	goto __591
 29464  __600:
 29465  	;
 29466  	goto ANYNL01
 29467  
 29468  __597:
 29469  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 29470  		goto __601
 29471  	}
 29472  	ncount1 = 1
 29473  __601:
 29474  	;
 29475  	// Fall through
 29476  
 29477  ANYNL01:
 29478  __598:
 29479  	if !(count > 0 && codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSPLUS)) {
 29480  		goto __602
 29481  	}
 29482  
 29483  	active_count-- // Remove non-match possibility
 29484  	next_active_state -= 12
 29485  __602:
 29486  	;
 29487  	count++
 29488  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29489  		goto __603
 29490  	}
 29491  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29492  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29493  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount1
 29494  	next_new_state += 12
 29495  	goto __604
 29496  __603:
 29497  	return -43
 29498  __604:
 29499  	;
 29500  	goto __591
 29501  
 29502  __599:
 29503  	goto __591
 29504  __591:
 29505  	;
 29506  __590:
 29507  	;
 29508  	goto __89
 29509  
 29510  	//-----------------------------------------------------------------
 29511  __146:
 29512  __147:
 29513  __148:
 29514  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29515  	if !(count > 0) {
 29516  		goto __605
 29517  	}
 29518  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29519  		goto __606
 29520  	}
 29521  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29522  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29523  	next_active_state += 12
 29524  	goto __607
 29525  __606:
 29526  	return -43
 29527  __607:
 29528  	;
 29529  __605:
 29530  	;
 29531  	if !(clen > 0) {
 29532  		goto __608
 29533  	}
 29534  
 29535  	switch c {
 29536  	case Tuint32_t('\012'):
 29537  		goto __610
 29538  	case Tuint32_t('\013'):
 29539  		goto __611
 29540  	case Tuint32_t('\014'):
 29541  		goto __612
 29542  	case Tuint32_t('\015'):
 29543  		goto __613
 29544  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29545  		goto __614
 29546  	case Tuint32_t(0x2028):
 29547  		goto __615 /* LINE SEPARATOR */
 29548  	case Tuint32_t(0x2029):
 29549  		goto __616
 29550  
 29551  	default:
 29552  		goto __617
 29553  	}
 29554  	goto __609
 29555  
 29556  __610:
 29557  __611:
 29558  __612:
 29559  __613:
 29560  __614:
 29561  __615: /* LINE SEPARATOR */
 29562  __616:
 29563  	OK2 = DTRUE
 29564  	goto __609
 29565  
 29566  __617:
 29567  	OK2 = DFALSE
 29568  	goto __609
 29569  __609:
 29570  	;
 29571  
 29572  	if !(OK2 == libc.Bool32(d == OP_VSPACE)) {
 29573  		goto __618
 29574  	}
 29575  
 29576  	if !(count > 0 && codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29577  		goto __619
 29578  	}
 29579  
 29580  	active_count-- // Remove non-match possibility
 29581  	next_active_state -= 12
 29582  __619:
 29583  	;
 29584  	count++
 29585  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29586  		goto __620
 29587  	}
 29588  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29589  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29590  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29591  	next_new_state += 12
 29592  	goto __621
 29593  __620:
 29594  	return -43
 29595  __621:
 29596  	;
 29597  __618:
 29598  	;
 29599  __608:
 29600  	;
 29601  	goto __89
 29602  
 29603  	//-----------------------------------------------------------------
 29604  __149:
 29605  __150:
 29606  __151:
 29607  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29608  	if !(count > 0) {
 29609  		goto __622
 29610  	}
 29611  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29612  		goto __623
 29613  	}
 29614  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29615  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29616  	next_active_state += 12
 29617  	goto __624
 29618  __623:
 29619  	return -43
 29620  __624:
 29621  	;
 29622  __622:
 29623  	;
 29624  	if !(clen > 0) {
 29625  		goto __625
 29626  	}
 29627  
 29628  	switch c {
 29629  	case Tuint32_t('\011'):
 29630  		goto __627
 29631  	case Tuint32_t('\040'):
 29632  		goto __628
 29633  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29634  		goto __629
 29635  	case Tuint32_t(0x1680):
 29636  		goto __630 /* OGHAM SPACE MARK */
 29637  	case Tuint32_t(0x180e):
 29638  		goto __631 /* MONGOLIAN VOWEL SEPARATOR */
 29639  	case Tuint32_t(0x2000):
 29640  		goto __632 /* EN QUAD */
 29641  	case Tuint32_t(0x2001):
 29642  		goto __633 /* EM QUAD */
 29643  	case Tuint32_t(0x2002):
 29644  		goto __634 /* EN SPACE */
 29645  	case Tuint32_t(0x2003):
 29646  		goto __635 /* EM SPACE */
 29647  	case Tuint32_t(0x2004):
 29648  		goto __636 /* THREE-PER-EM SPACE */
 29649  	case Tuint32_t(0x2005):
 29650  		goto __637 /* FOUR-PER-EM SPACE */
 29651  	case Tuint32_t(0x2006):
 29652  		goto __638 /* SIX-PER-EM SPACE */
 29653  	case Tuint32_t(0x2007):
 29654  		goto __639 /* FIGURE SPACE */
 29655  	case Tuint32_t(0x2008):
 29656  		goto __640 /* PUNCTUATION SPACE */
 29657  	case Tuint32_t(0x2009):
 29658  		goto __641 /* THIN SPACE */
 29659  	case Tuint32_t(0x200A):
 29660  		goto __642 /* HAIR SPACE */
 29661  	case Tuint32_t(0x202f):
 29662  		goto __643 /* NARROW NO-BREAK SPACE */
 29663  	case Tuint32_t(0x205f):
 29664  		goto __644 /* MEDIUM MATHEMATICAL SPACE */
 29665  	case Tuint32_t(0x3000):
 29666  		goto __645
 29667  
 29668  	default:
 29669  		goto __646
 29670  	}
 29671  	goto __626
 29672  
 29673  __627:
 29674  __628:
 29675  __629:
 29676  __630: /* OGHAM SPACE MARK */
 29677  __631: /* MONGOLIAN VOWEL SEPARATOR */
 29678  __632: /* EN QUAD */
 29679  __633: /* EM QUAD */
 29680  __634: /* EN SPACE */
 29681  __635: /* EM SPACE */
 29682  __636: /* THREE-PER-EM SPACE */
 29683  __637: /* FOUR-PER-EM SPACE */
 29684  __638: /* SIX-PER-EM SPACE */
 29685  __639: /* FIGURE SPACE */
 29686  __640: /* PUNCTUATION SPACE */
 29687  __641: /* THIN SPACE */
 29688  __642: /* HAIR SPACE */
 29689  __643: /* NARROW NO-BREAK SPACE */
 29690  __644: /* MEDIUM MATHEMATICAL SPACE */
 29691  __645:
 29692  	OK3 = DTRUE
 29693  	goto __626
 29694  
 29695  __646:
 29696  	OK3 = DFALSE
 29697  	goto __626
 29698  __626:
 29699  	;
 29700  
 29701  	if !(OK3 == libc.Bool32(d == OP_HSPACE)) {
 29702  		goto __647
 29703  	}
 29704  
 29705  	if !(count > 0 && codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29706  		goto __648
 29707  	}
 29708  
 29709  	active_count-- // Remove non-match possibility
 29710  	next_active_state -= 12
 29711  __648:
 29712  	;
 29713  	count++
 29714  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29715  		goto __649
 29716  	}
 29717  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29718  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29719  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29720  	next_new_state += 12
 29721  	goto __650
 29722  __649:
 29723  	return -43
 29724  __650:
 29725  	;
 29726  __647:
 29727  	;
 29728  __625:
 29729  	;
 29730  	goto __89
 29731  
 29732  	//-----------------------------------------------------------------
 29733  __152:
 29734  __153:
 29735  __154:
 29736  	count = 4
 29737  	goto QS1
 29738  
 29739  __155:
 29740  __156:
 29741  __157:
 29742  	count = 0
 29743  
 29744  QS1:
 29745  
 29746  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29747  		goto __651
 29748  	}
 29749  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29750  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29751  	next_active_state += 12
 29752  	goto __652
 29753  __651:
 29754  	return -43
 29755  __652:
 29756  	;
 29757  	if !(clen > 0) {
 29758  		goto __653
 29759  	}
 29760  
 29761  	prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 29762  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29763  	case DPT_ANY:
 29764  		goto __655
 29765  
 29766  	case DPT_LAMP:
 29767  		goto __656
 29768  
 29769  	case DPT_GC:
 29770  		goto __657
 29771  
 29772  	case DPT_PC:
 29773  		goto __658
 29774  
 29775  	case DPT_SC:
 29776  		goto __659
 29777  
 29778  	case DPT_SCX:
 29779  		goto __660
 29780  
 29781  	// These are specials for combination cases.
 29782  
 29783  	case DPT_ALNUM:
 29784  		goto __661
 29785  
 29786  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29787  	//           which means that Perl space and POSIX space are now identical. PCRE
 29788  	//           was changed at release 8.34.
 29789  
 29790  	case DPT_SPACE:
 29791  		goto __662 // Perl space
 29792  	case DPT_PXSPACE:
 29793  		goto __663
 29794  
 29795  	case DPT_WORD:
 29796  		goto __664
 29797  
 29798  	case DPT_CLIST:
 29799  		goto __665
 29800  
 29801  	case DPT_UCNC:
 29802  		goto __666
 29803  
 29804  	case DPT_BIDICL:
 29805  		goto __667
 29806  
 29807  	case DPT_BOOL:
 29808  		goto __668
 29809  
 29810  	// Should never occur, but keep compilers from grumbling.
 29811  
 29812  	default:
 29813  		goto __669
 29814  	}
 29815  	goto __654
 29816  
 29817  __655:
 29818  	OK4 = DTRUE
 29819  	goto __654
 29820  
 29821  __656:
 29822  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lt)
 29823  	goto __654
 29824  
 29825  __657:
 29826  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29827  	goto __654
 29828  
 29829  __658:
 29830  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29831  	goto __654
 29832  
 29833  __659:
 29834  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29835  	goto __654
 29836  
 29837  __660:
 29838  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29839  	goto __654
 29840  
 29841  	// These are specials for combination cases.
 29842  
 29843  __661:
 29844  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N)
 29845  	goto __654
 29846  
 29847  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29848  	//           which means that Perl space and POSIX space are now identical. PCRE
 29849  	//           was changed at release 8.34.
 29850  
 29851  __662: // Perl space
 29852  __663: // POSIX space
 29853  	switch c {
 29854  	case Tuint32_t('\011'):
 29855  		goto __671
 29856  	case Tuint32_t('\040'):
 29857  		goto __672
 29858  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 29859  		goto __673
 29860  	case Tuint32_t(0x1680):
 29861  		goto __674 /* OGHAM SPACE MARK */
 29862  	case Tuint32_t(0x180e):
 29863  		goto __675 /* MONGOLIAN VOWEL SEPARATOR */
 29864  	case Tuint32_t(0x2000):
 29865  		goto __676 /* EN QUAD */
 29866  	case Tuint32_t(0x2001):
 29867  		goto __677 /* EM QUAD */
 29868  	case Tuint32_t(0x2002):
 29869  		goto __678 /* EN SPACE */
 29870  	case Tuint32_t(0x2003):
 29871  		goto __679 /* EM SPACE */
 29872  	case Tuint32_t(0x2004):
 29873  		goto __680 /* THREE-PER-EM SPACE */
 29874  	case Tuint32_t(0x2005):
 29875  		goto __681 /* FOUR-PER-EM SPACE */
 29876  	case Tuint32_t(0x2006):
 29877  		goto __682 /* SIX-PER-EM SPACE */
 29878  	case Tuint32_t(0x2007):
 29879  		goto __683 /* FIGURE SPACE */
 29880  	case Tuint32_t(0x2008):
 29881  		goto __684 /* PUNCTUATION SPACE */
 29882  	case Tuint32_t(0x2009):
 29883  		goto __685 /* THIN SPACE */
 29884  	case Tuint32_t(0x200A):
 29885  		goto __686 /* HAIR SPACE */
 29886  	case Tuint32_t(0x202f):
 29887  		goto __687 /* NARROW NO-BREAK SPACE */
 29888  	case Tuint32_t(0x205f):
 29889  		goto __688 /* MEDIUM MATHEMATICAL SPACE */
 29890  	case Tuint32_t(0x3000):
 29891  		goto __689
 29892  	case Tuint32_t('\012'):
 29893  		goto __690
 29894  	case Tuint32_t('\013'):
 29895  		goto __691
 29896  	case Tuint32_t('\014'):
 29897  		goto __692
 29898  	case Tuint32_t('\015'):
 29899  		goto __693
 29900  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 29901  		goto __694
 29902  	case Tuint32_t(0x2028):
 29903  		goto __695 /* LINE SEPARATOR */
 29904  	case Tuint32_t(0x2029):
 29905  		goto __696
 29906  
 29907  	default:
 29908  		goto __697
 29909  	}
 29910  	goto __670
 29911  
 29912  __671:
 29913  __672:
 29914  __673:
 29915  __674: /* OGHAM SPACE MARK */
 29916  __675: /* MONGOLIAN VOWEL SEPARATOR */
 29917  __676: /* EN QUAD */
 29918  __677: /* EM QUAD */
 29919  __678: /* EN SPACE */
 29920  __679: /* EM SPACE */
 29921  __680: /* THREE-PER-EM SPACE */
 29922  __681: /* FOUR-PER-EM SPACE */
 29923  __682: /* SIX-PER-EM SPACE */
 29924  __683: /* FIGURE SPACE */
 29925  __684: /* PUNCTUATION SPACE */
 29926  __685: /* THIN SPACE */
 29927  __686: /* HAIR SPACE */
 29928  __687: /* NARROW NO-BREAK SPACE */
 29929  __688: /* MEDIUM MATHEMATICAL SPACE */
 29930  __689:
 29931  __690:
 29932  __691:
 29933  __692:
 29934  __693:
 29935  __694:
 29936  __695: /* LINE SEPARATOR */
 29937  __696:
 29938  	OK4 = DTRUE
 29939  	goto __670
 29940  
 29941  __697:
 29942  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_Z)
 29943  	goto __670
 29944  __670:
 29945  	;
 29946  	goto __654
 29947  
 29948  __664:
 29949  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 29950  	goto __654
 29951  
 29952  __665:
 29953  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29954  __698:
 29955  
 29956  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 29957  		goto __701
 29958  	}
 29959  	OK4 = DFALSE
 29960  	goto __700
 29961  __701:
 29962  	;
 29963  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 29964  		goto __702
 29965  	}
 29966  	OK4 = DTRUE
 29967  	goto __700
 29968  __702:
 29969  	;
 29970  	goto __699
 29971  __699:
 29972  	goto __698
 29973  	goto __700
 29974  __700:
 29975  	;
 29976  	goto __654
 29977  
 29978  __666:
 29979  	OK4 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 29980  	goto __654
 29981  
 29982  __667:
 29983  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29984  	goto __654
 29985  
 29986  __668:
 29987  	OK4 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29988  	goto __654
 29989  
 29990  	// Should never occur, but keep compilers from grumbling.
 29991  
 29992  __669:
 29993  	OK4 = libc.Bool32(codevalue != OP_PROP)
 29994  	goto __654
 29995  __654:
 29996  	;
 29997  
 29998  	if !(OK4 == libc.Bool32(d == OP_PROP)) {
 29999  		goto __703
 30000  	}
 30001  
 30002  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSQUERY)) {
 30003  		goto __704
 30004  	}
 30005  
 30006  	active_count-- // Remove non-match possibility
 30007  	next_active_state -= 12
 30008  __704:
 30009  	;
 30010  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30011  		goto __705
 30012  	}
 30013  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + count
 30014  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30015  	next_new_state += 12
 30016  	goto __706
 30017  __705:
 30018  	return -43
 30019  __706:
 30020  	;
 30021  __703:
 30022  	;
 30023  __653:
 30024  	;
 30025  	goto __89
 30026  
 30027  	//-----------------------------------------------------------------
 30028  __158:
 30029  __159:
 30030  __160:
 30031  	count = 2
 30032  	goto QS2
 30033  
 30034  __161:
 30035  __162:
 30036  __163:
 30037  	count = 0
 30038  
 30039  QS2:
 30040  
 30041  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30042  		goto __707
 30043  	}
 30044  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30045  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30046  	next_active_state += 12
 30047  	goto __708
 30048  __707:
 30049  	return -43
 30050  __708:
 30051  	;
 30052  	if !(clen > 0) {
 30053  		goto __709
 30054  	}
 30055  
 30056  	*(*int32)(unsafe.Pointer(bp + 4 /* ncount2 */)) = 0
 30057  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSQUERY)) {
 30058  		goto __710
 30059  	}
 30060  
 30061  	active_count-- // Remove non-match possibility
 30062  	next_active_state -= 12
 30063  __710:
 30064  	;
 30065  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30066  		bp+4)
 30067  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30068  		goto __711
 30069  	}
 30070  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30071  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30072  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 4))
 30073  	next_new_state += 12
 30074  	goto __712
 30075  __711:
 30076  	return -43
 30077  __712:
 30078  	;
 30079  __709:
 30080  	;
 30081  	goto __89
 30082  
 30083  	//-----------------------------------------------------------------
 30084  __164:
 30085  __165:
 30086  __166:
 30087  	count = 2
 30088  	goto QS3
 30089  
 30090  __167:
 30091  __168:
 30092  __169:
 30093  	count = 0
 30094  
 30095  QS3:
 30096  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30097  		goto __713
 30098  	}
 30099  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30100  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30101  	next_active_state += 12
 30102  	goto __714
 30103  __713:
 30104  	return -43
 30105  __714:
 30106  	;
 30107  	if !(clen > 0) {
 30108  		goto __715
 30109  	}
 30110  	ncount3 = 0
 30111  	switch c {
 30112  	case Tuint32_t('\013'):
 30113  		goto __717
 30114  	case Tuint32_t('\014'):
 30115  		goto __718
 30116  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30117  		goto __719
 30118  	case Tuint32_t(0x2028):
 30119  		goto __720
 30120  	case Tuint32_t(0x2029):
 30121  		goto __721
 30122  
 30123  	case Tuint32_t('\015'):
 30124  		goto __722
 30125  	case Tuint32_t('\012'):
 30126  		goto __723
 30127  
 30128  	default:
 30129  		goto __724
 30130  	}
 30131  	goto __716
 30132  
 30133  __717:
 30134  __718:
 30135  __719:
 30136  __720:
 30137  __721:
 30138  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30139  		goto __725
 30140  	}
 30141  	goto __716
 30142  __725:
 30143  	;
 30144  	goto ANYNL02
 30145  
 30146  __722:
 30147  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30148  		goto __726
 30149  	}
 30150  	ncount3 = 1
 30151  __726:
 30152  	;
 30153  	// Fall through
 30154  
 30155  ANYNL02:
 30156  __723:
 30157  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSQUERY)) {
 30158  		goto __727
 30159  	}
 30160  
 30161  	active_count-- // Remove non-match possibility
 30162  	next_active_state -= 12
 30163  __727:
 30164  	;
 30165  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30166  		goto __728
 30167  	}
 30168  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30169  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30170  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount3
 30171  	next_new_state += 12
 30172  	goto __729
 30173  __728:
 30174  	return -43
 30175  __729:
 30176  	;
 30177  	goto __716
 30178  
 30179  __724:
 30180  	goto __716
 30181  __716:
 30182  	;
 30183  __715:
 30184  	;
 30185  	goto __89
 30186  
 30187  	//-----------------------------------------------------------------
 30188  __170:
 30189  __171:
 30190  __172:
 30191  	count = 2
 30192  	goto QS4
 30193  
 30194  __173:
 30195  __174:
 30196  __175:
 30197  	count = 0
 30198  
 30199  QS4:
 30200  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30201  		goto __730
 30202  	}
 30203  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30204  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30205  	next_active_state += 12
 30206  	goto __731
 30207  __730:
 30208  	return -43
 30209  __731:
 30210  	;
 30211  	if !(clen > 0) {
 30212  		goto __732
 30213  	}
 30214  
 30215  	switch c {
 30216  	case Tuint32_t('\012'):
 30217  		goto __734
 30218  	case Tuint32_t('\013'):
 30219  		goto __735
 30220  	case Tuint32_t('\014'):
 30221  		goto __736
 30222  	case Tuint32_t('\015'):
 30223  		goto __737
 30224  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30225  		goto __738
 30226  	case Tuint32_t(0x2028):
 30227  		goto __739 /* LINE SEPARATOR */
 30228  	case Tuint32_t(0x2029):
 30229  		goto __740
 30230  
 30231  	default:
 30232  		goto __741
 30233  	}
 30234  	goto __733
 30235  
 30236  __734:
 30237  __735:
 30238  __736:
 30239  __737:
 30240  __738:
 30241  __739: /* LINE SEPARATOR */
 30242  __740:
 30243  	OK5 = DTRUE
 30244  	goto __733
 30245  
 30246  __741:
 30247  	OK5 = DFALSE
 30248  	goto __733
 30249  __733:
 30250  	;
 30251  	if !(OK5 == libc.Bool32(d == OP_VSPACE)) {
 30252  		goto __742
 30253  	}
 30254  
 30255  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30256  		goto __743
 30257  	}
 30258  
 30259  	active_count-- // Remove non-match possibility
 30260  	next_active_state -= 12
 30261  __743:
 30262  	;
 30263  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30264  		goto __744
 30265  	}
 30266  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30267  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30268  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30269  	next_new_state += 12
 30270  	goto __745
 30271  __744:
 30272  	return -43
 30273  __745:
 30274  	;
 30275  __742:
 30276  	;
 30277  __732:
 30278  	;
 30279  	goto __89
 30280  
 30281  	//-----------------------------------------------------------------
 30282  __176:
 30283  __177:
 30284  __178:
 30285  	count = 2
 30286  	goto QS5
 30287  
 30288  __179:
 30289  __180:
 30290  __181:
 30291  	count = 0
 30292  
 30293  QS5:
 30294  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30295  		goto __746
 30296  	}
 30297  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30298  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30299  	next_active_state += 12
 30300  	goto __747
 30301  __746:
 30302  	return -43
 30303  __747:
 30304  	;
 30305  	if !(clen > 0) {
 30306  		goto __748
 30307  	}
 30308  
 30309  	switch c {
 30310  	case Tuint32_t('\011'):
 30311  		goto __750
 30312  	case Tuint32_t('\040'):
 30313  		goto __751
 30314  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 30315  		goto __752
 30316  	case Tuint32_t(0x1680):
 30317  		goto __753 /* OGHAM SPACE MARK */
 30318  	case Tuint32_t(0x180e):
 30319  		goto __754 /* MONGOLIAN VOWEL SEPARATOR */
 30320  	case Tuint32_t(0x2000):
 30321  		goto __755 /* EN QUAD */
 30322  	case Tuint32_t(0x2001):
 30323  		goto __756 /* EM QUAD */
 30324  	case Tuint32_t(0x2002):
 30325  		goto __757 /* EN SPACE */
 30326  	case Tuint32_t(0x2003):
 30327  		goto __758 /* EM SPACE */
 30328  	case Tuint32_t(0x2004):
 30329  		goto __759 /* THREE-PER-EM SPACE */
 30330  	case Tuint32_t(0x2005):
 30331  		goto __760 /* FOUR-PER-EM SPACE */
 30332  	case Tuint32_t(0x2006):
 30333  		goto __761 /* SIX-PER-EM SPACE */
 30334  	case Tuint32_t(0x2007):
 30335  		goto __762 /* FIGURE SPACE */
 30336  	case Tuint32_t(0x2008):
 30337  		goto __763 /* PUNCTUATION SPACE */
 30338  	case Tuint32_t(0x2009):
 30339  		goto __764 /* THIN SPACE */
 30340  	case Tuint32_t(0x200A):
 30341  		goto __765 /* HAIR SPACE */
 30342  	case Tuint32_t(0x202f):
 30343  		goto __766 /* NARROW NO-BREAK SPACE */
 30344  	case Tuint32_t(0x205f):
 30345  		goto __767 /* MEDIUM MATHEMATICAL SPACE */
 30346  	case Tuint32_t(0x3000):
 30347  		goto __768
 30348  
 30349  	default:
 30350  		goto __769
 30351  	}
 30352  	goto __749
 30353  
 30354  __750:
 30355  __751:
 30356  __752:
 30357  __753: /* OGHAM SPACE MARK */
 30358  __754: /* MONGOLIAN VOWEL SEPARATOR */
 30359  __755: /* EN QUAD */
 30360  __756: /* EM QUAD */
 30361  __757: /* EN SPACE */
 30362  __758: /* EM SPACE */
 30363  __759: /* THREE-PER-EM SPACE */
 30364  __760: /* FOUR-PER-EM SPACE */
 30365  __761: /* SIX-PER-EM SPACE */
 30366  __762: /* FIGURE SPACE */
 30367  __763: /* PUNCTUATION SPACE */
 30368  __764: /* THIN SPACE */
 30369  __765: /* HAIR SPACE */
 30370  __766: /* NARROW NO-BREAK SPACE */
 30371  __767: /* MEDIUM MATHEMATICAL SPACE */
 30372  __768:
 30373  	OK6 = DTRUE
 30374  	goto __749
 30375  
 30376  __769:
 30377  	OK6 = DFALSE
 30378  	goto __749
 30379  __749:
 30380  	;
 30381  
 30382  	if !(OK6 == libc.Bool32(d == OP_HSPACE)) {
 30383  		goto __770
 30384  	}
 30385  
 30386  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30387  		goto __771
 30388  	}
 30389  
 30390  	active_count-- // Remove non-match possibility
 30391  	next_active_state -= 12
 30392  __771:
 30393  	;
 30394  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30395  		goto __772
 30396  	}
 30397  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30398  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30399  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30400  	next_new_state += 12
 30401  	goto __773
 30402  __772:
 30403  	return -43
 30404  __773:
 30405  	;
 30406  __770:
 30407  	;
 30408  __748:
 30409  	;
 30410  	goto __89
 30411  
 30412  	//-----------------------------------------------------------------
 30413  __182:
 30414  __183:
 30415  __184:
 30416  __185:
 30417  	if !(codevalue != Tuint32_t(DOP_PROP_EXTRA+OP_TYPEEXACT)) {
 30418  		goto __774
 30419  	}
 30420  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30421  		goto __775
 30422  	}
 30423  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30424  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30425  	next_active_state += 12
 30426  	goto __776
 30427  __775:
 30428  	return -43
 30429  __776:
 30430  	;
 30431  __774:
 30432  	;
 30433  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30434  	if !(clen > 0) {
 30435  		goto __777
 30436  	}
 30437  
 30438  	prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 30439  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4))) {
 30440  	case DPT_ANY:
 30441  		goto __779
 30442  
 30443  	case DPT_LAMP:
 30444  		goto __780
 30445  
 30446  	case DPT_GC:
 30447  		goto __781
 30448  
 30449  	case DPT_PC:
 30450  		goto __782
 30451  
 30452  	case DPT_SC:
 30453  		goto __783
 30454  
 30455  	case DPT_SCX:
 30456  		goto __784
 30457  
 30458  	// These are specials for combination cases.
 30459  
 30460  	case DPT_ALNUM:
 30461  		goto __785
 30462  
 30463  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30464  	//           which means that Perl space and POSIX space are now identical. PCRE
 30465  	//           was changed at release 8.34.
 30466  
 30467  	case DPT_SPACE:
 30468  		goto __786 // Perl space
 30469  	case DPT_PXSPACE:
 30470  		goto __787
 30471  
 30472  	case DPT_WORD:
 30473  		goto __788
 30474  
 30475  	case DPT_CLIST:
 30476  		goto __789
 30477  
 30478  	case DPT_UCNC:
 30479  		goto __790
 30480  
 30481  	case DPT_BIDICL:
 30482  		goto __791
 30483  
 30484  	case DPT_BOOL:
 30485  		goto __792
 30486  
 30487  	// Should never occur, but keep compilers from grumbling.
 30488  
 30489  	default:
 30490  		goto __793
 30491  	}
 30492  	goto __778
 30493  
 30494  __779:
 30495  	OK7 = DTRUE
 30496  	goto __778
 30497  
 30498  __780:
 30499  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lt)
 30500  	goto __778
 30501  
 30502  __781:
 30503  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30504  	goto __778
 30505  
 30506  __782:
 30507  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30508  	goto __778
 30509  
 30510  __783:
 30511  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30512  	goto __778
 30513  
 30514  __784:
 30515  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0))
 30516  	goto __778
 30517  
 30518  	// These are specials for combination cases.
 30519  
 30520  __785:
 30521  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N)
 30522  	goto __778
 30523  
 30524  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30525  	//           which means that Perl space and POSIX space are now identical. PCRE
 30526  	//           was changed at release 8.34.
 30527  
 30528  __786: // Perl space
 30529  __787: // POSIX space
 30530  	switch c {
 30531  	case Tuint32_t('\011'):
 30532  		goto __795
 30533  	case Tuint32_t('\040'):
 30534  		goto __796
 30535  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 30536  		goto __797
 30537  	case Tuint32_t(0x1680):
 30538  		goto __798 /* OGHAM SPACE MARK */
 30539  	case Tuint32_t(0x180e):
 30540  		goto __799 /* MONGOLIAN VOWEL SEPARATOR */
 30541  	case Tuint32_t(0x2000):
 30542  		goto __800 /* EN QUAD */
 30543  	case Tuint32_t(0x2001):
 30544  		goto __801 /* EM QUAD */
 30545  	case Tuint32_t(0x2002):
 30546  		goto __802 /* EN SPACE */
 30547  	case Tuint32_t(0x2003):
 30548  		goto __803 /* EM SPACE */
 30549  	case Tuint32_t(0x2004):
 30550  		goto __804 /* THREE-PER-EM SPACE */
 30551  	case Tuint32_t(0x2005):
 30552  		goto __805 /* FOUR-PER-EM SPACE */
 30553  	case Tuint32_t(0x2006):
 30554  		goto __806 /* SIX-PER-EM SPACE */
 30555  	case Tuint32_t(0x2007):
 30556  		goto __807 /* FIGURE SPACE */
 30557  	case Tuint32_t(0x2008):
 30558  		goto __808 /* PUNCTUATION SPACE */
 30559  	case Tuint32_t(0x2009):
 30560  		goto __809 /* THIN SPACE */
 30561  	case Tuint32_t(0x200A):
 30562  		goto __810 /* HAIR SPACE */
 30563  	case Tuint32_t(0x202f):
 30564  		goto __811 /* NARROW NO-BREAK SPACE */
 30565  	case Tuint32_t(0x205f):
 30566  		goto __812 /* MEDIUM MATHEMATICAL SPACE */
 30567  	case Tuint32_t(0x3000):
 30568  		goto __813
 30569  	case Tuint32_t('\012'):
 30570  		goto __814
 30571  	case Tuint32_t('\013'):
 30572  		goto __815
 30573  	case Tuint32_t('\014'):
 30574  		goto __816
 30575  	case Tuint32_t('\015'):
 30576  		goto __817
 30577  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30578  		goto __818
 30579  	case Tuint32_t(0x2028):
 30580  		goto __819 /* LINE SEPARATOR */
 30581  	case Tuint32_t(0x2029):
 30582  		goto __820
 30583  
 30584  	default:
 30585  		goto __821
 30586  	}
 30587  	goto __794
 30588  
 30589  __795:
 30590  __796:
 30591  __797:
 30592  __798: /* OGHAM SPACE MARK */
 30593  __799: /* MONGOLIAN VOWEL SEPARATOR */
 30594  __800: /* EN QUAD */
 30595  __801: /* EM QUAD */
 30596  __802: /* EN SPACE */
 30597  __803: /* EM SPACE */
 30598  __804: /* THREE-PER-EM SPACE */
 30599  __805: /* FOUR-PER-EM SPACE */
 30600  __806: /* SIX-PER-EM SPACE */
 30601  __807: /* FIGURE SPACE */
 30602  __808: /* PUNCTUATION SPACE */
 30603  __809: /* THIN SPACE */
 30604  __810: /* HAIR SPACE */
 30605  __811: /* NARROW NO-BREAK SPACE */
 30606  __812: /* MEDIUM MATHEMATICAL SPACE */
 30607  __813:
 30608  __814:
 30609  __815:
 30610  __816:
 30611  __817:
 30612  __818:
 30613  __819: /* LINE SEPARATOR */
 30614  __820:
 30615  	OK7 = DTRUE
 30616  	goto __794
 30617  
 30618  __821:
 30619  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_Z)
 30620  	goto __794
 30621  __794:
 30622  	;
 30623  	goto __778
 30624  
 30625  __788:
 30626  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 30627  	goto __778
 30628  
 30629  __789:
 30630  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))*4
 30631  __822:
 30632  
 30633  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 30634  		goto __825
 30635  	}
 30636  	OK7 = DFALSE
 30637  	goto __824
 30638  __825:
 30639  	;
 30640  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 30641  		goto __826
 30642  	}
 30643  	OK7 = DTRUE
 30644  	goto __824
 30645  __826:
 30646  	;
 30647  	goto __823
 30648  __823:
 30649  	goto __822
 30650  	goto __824
 30651  __824:
 30652  	;
 30653  	goto __778
 30654  
 30655  __790:
 30656  	OK7 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 30657  	goto __778
 30658  
 30659  __791:
 30660  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30661  	goto __778
 30662  
 30663  __792:
 30664  	OK7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0))
 30665  	goto __778
 30666  
 30667  	// Should never occur, but keep compilers from grumbling.
 30668  
 30669  __793:
 30670  	OK7 = libc.Bool32(codevalue != OP_PROP)
 30671  	goto __778
 30672  __778:
 30673  	;
 30674  
 30675  	if !(OK7 == libc.Bool32(d == OP_PROP)) {
 30676  		goto __827
 30677  	}
 30678  
 30679  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSUPTO)) {
 30680  		goto __828
 30681  	}
 30682  
 30683  	active_count-- // Remove non-match possibility
 30684  	next_active_state -= 12
 30685  __828:
 30686  	;
 30687  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30688  		goto __829
 30689  	}
 30690  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30691  		goto __831
 30692  	}
 30693  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30694  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30695  	next_new_state += 12
 30696  	goto __832
 30697  __831:
 30698  	return -43
 30699  __832:
 30700  	;
 30701  	goto __830
 30702  __829:
 30703  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30704  		goto __833
 30705  	}
 30706  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 30707  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30708  	next_new_state += 12
 30709  	goto __834
 30710  __833:
 30711  	return -43
 30712  __834:
 30713  	;
 30714  __830:
 30715  	;
 30716  __827:
 30717  	;
 30718  __777:
 30719  	;
 30720  	goto __89
 30721  
 30722  	//-----------------------------------------------------------------
 30723  __186:
 30724  __187:
 30725  __188:
 30726  __189:
 30727  	if !(codevalue != Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEEXACT)) {
 30728  		goto __835
 30729  	}
 30730  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30731  		goto __836
 30732  	}
 30733  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30734  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30735  	next_active_state += 12
 30736  	goto __837
 30737  __836:
 30738  	return -43
 30739  __837:
 30740  	;
 30741  __835:
 30742  	;
 30743  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30744  	if !(clen > 0) {
 30745  		goto __838
 30746  	}
 30747  
 30748  	*(*int32)(unsafe.Pointer(bp + 8 /* ncount4 */)) = 0
 30749  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSUPTO)) {
 30750  		goto __839
 30751  	}
 30752  
 30753  	active_count-- // Remove non-match possibility
 30754  	next_active_state -= 12
 30755  __839:
 30756  	;
 30757  	nptr = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30758  		bp+8)
 30759  	if !(nptr >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 30760  		goto __840
 30761  	}
 30762  	reset_could_continue = DTRUE
 30763  __840:
 30764  	;
 30765  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30766  		goto __841
 30767  	}
 30768  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30769  		goto __843
 30770  	}
 30771  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30772  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30773  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30774  	next_new_state += 12
 30775  	goto __844
 30776  __843:
 30777  	return -43
 30778  __844:
 30779  	;
 30780  	goto __842
 30781  __841:
 30782  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30783  		goto __845
 30784  	}
 30785  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30786  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30787  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30788  	next_new_state += 12
 30789  	goto __846
 30790  __845:
 30791  	return -43
 30792  __846:
 30793  	;
 30794  __842:
 30795  	;
 30796  __838:
 30797  	;
 30798  	goto __89
 30799  
 30800  	//-----------------------------------------------------------------
 30801  __190:
 30802  __191:
 30803  __192:
 30804  __193:
 30805  	if !(codevalue != Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEEXACT)) {
 30806  		goto __847
 30807  	}
 30808  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30809  		goto __848
 30810  	}
 30811  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30812  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30813  	next_active_state += 12
 30814  	goto __849
 30815  __848:
 30816  	return -43
 30817  __849:
 30818  	;
 30819  __847:
 30820  	;
 30821  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30822  	if !(clen > 0) {
 30823  		goto __850
 30824  	}
 30825  	ncount5 = 0
 30826  	switch c {
 30827  	case Tuint32_t('\013'):
 30828  		goto __852
 30829  	case Tuint32_t('\014'):
 30830  		goto __853
 30831  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30832  		goto __854
 30833  	case Tuint32_t(0x2028):
 30834  		goto __855
 30835  	case Tuint32_t(0x2029):
 30836  		goto __856
 30837  
 30838  	case Tuint32_t('\015'):
 30839  		goto __857
 30840  	case Tuint32_t('\012'):
 30841  		goto __858
 30842  
 30843  	default:
 30844  		goto __859
 30845  	}
 30846  	goto __851
 30847  
 30848  __852:
 30849  __853:
 30850  __854:
 30851  __855:
 30852  __856:
 30853  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30854  		goto __860
 30855  	}
 30856  	goto __851
 30857  __860:
 30858  	;
 30859  	goto ANYNL03
 30860  
 30861  __857:
 30862  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30863  		goto __861
 30864  	}
 30865  	ncount5 = 1
 30866  __861:
 30867  	;
 30868  	// Fall through
 30869  
 30870  ANYNL03:
 30871  __858:
 30872  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSUPTO)) {
 30873  		goto __862
 30874  	}
 30875  
 30876  	active_count-- // Remove non-match possibility
 30877  	next_active_state -= 12
 30878  __862:
 30879  	;
 30880  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30881  		goto __863
 30882  	}
 30883  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30884  		goto __865
 30885  	}
 30886  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30887  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30888  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30889  	next_new_state += 12
 30890  	goto __866
 30891  __865:
 30892  	return -43
 30893  __866:
 30894  	;
 30895  	goto __864
 30896  __863:
 30897  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30898  		goto __867
 30899  	}
 30900  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30901  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30902  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30903  	next_new_state += 12
 30904  	goto __868
 30905  __867:
 30906  	return -43
 30907  __868:
 30908  	;
 30909  __864:
 30910  	;
 30911  	goto __851
 30912  
 30913  __859:
 30914  	goto __851
 30915  __851:
 30916  	;
 30917  __850:
 30918  	;
 30919  	goto __89
 30920  
 30921  	//-----------------------------------------------------------------
 30922  __194:
 30923  __195:
 30924  __196:
 30925  __197:
 30926  	if !(codevalue != Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEEXACT)) {
 30927  		goto __869
 30928  	}
 30929  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30930  		goto __870
 30931  	}
 30932  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30933  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30934  	next_active_state += 12
 30935  	goto __871
 30936  __870:
 30937  	return -43
 30938  __871:
 30939  	;
 30940  __869:
 30941  	;
 30942  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30943  	if !(clen > 0) {
 30944  		goto __872
 30945  	}
 30946  
 30947  	switch c {
 30948  	case Tuint32_t('\012'):
 30949  		goto __874
 30950  	case Tuint32_t('\013'):
 30951  		goto __875
 30952  	case Tuint32_t('\014'):
 30953  		goto __876
 30954  	case Tuint32_t('\015'):
 30955  		goto __877
 30956  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 30957  		goto __878
 30958  	case Tuint32_t(0x2028):
 30959  		goto __879 /* LINE SEPARATOR */
 30960  	case Tuint32_t(0x2029):
 30961  		goto __880
 30962  
 30963  	default:
 30964  		goto __881
 30965  	}
 30966  	goto __873
 30967  
 30968  __874:
 30969  __875:
 30970  __876:
 30971  __877:
 30972  __878:
 30973  __879: /* LINE SEPARATOR */
 30974  __880:
 30975  	OK8 = DTRUE
 30976  	goto __873
 30977  
 30978  __881:
 30979  	OK8 = DFALSE
 30980  __873:
 30981  	;
 30982  
 30983  	if !(OK8 == libc.Bool32(d == OP_VSPACE)) {
 30984  		goto __882
 30985  	}
 30986  
 30987  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 30988  		goto __883
 30989  	}
 30990  
 30991  	active_count-- // Remove non-match possibility
 30992  	next_active_state -= 12
 30993  __883:
 30994  	;
 30995  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30996  		goto __884
 30997  	}
 30998  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30999  		goto __886
 31000  	}
 31001  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 31002  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31003  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31004  	next_new_state += 12
 31005  	goto __887
 31006  __886:
 31007  	return -43
 31008  __887:
 31009  	;
 31010  	goto __885
 31011  __884:
 31012  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31013  		goto __888
 31014  	}
 31015  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 31016  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31017  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31018  	next_new_state += 12
 31019  	goto __889
 31020  __888:
 31021  	return -43
 31022  __889:
 31023  	;
 31024  __885:
 31025  	;
 31026  __882:
 31027  	;
 31028  __872:
 31029  	;
 31030  	goto __89
 31031  
 31032  	//-----------------------------------------------------------------
 31033  __198:
 31034  __199:
 31035  __200:
 31036  __201:
 31037  	if !(codevalue != Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEEXACT)) {
 31038  		goto __890
 31039  	}
 31040  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31041  		goto __891
 31042  	}
 31043  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 31044  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31045  	next_active_state += 12
 31046  	goto __892
 31047  __891:
 31048  	return -43
 31049  __892:
 31050  	;
 31051  __890:
 31052  	;
 31053  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 31054  	if !(clen > 0) {
 31055  		goto __893
 31056  	}
 31057  
 31058  	switch c {
 31059  	case Tuint32_t('\011'):
 31060  		goto __895
 31061  	case Tuint32_t('\040'):
 31062  		goto __896
 31063  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31064  		goto __897
 31065  	case Tuint32_t(0x1680):
 31066  		goto __898 /* OGHAM SPACE MARK */
 31067  	case Tuint32_t(0x180e):
 31068  		goto __899 /* MONGOLIAN VOWEL SEPARATOR */
 31069  	case Tuint32_t(0x2000):
 31070  		goto __900 /* EN QUAD */
 31071  	case Tuint32_t(0x2001):
 31072  		goto __901 /* EM QUAD */
 31073  	case Tuint32_t(0x2002):
 31074  		goto __902 /* EN SPACE */
 31075  	case Tuint32_t(0x2003):
 31076  		goto __903 /* EM SPACE */
 31077  	case Tuint32_t(0x2004):
 31078  		goto __904 /* THREE-PER-EM SPACE */
 31079  	case Tuint32_t(0x2005):
 31080  		goto __905 /* FOUR-PER-EM SPACE */
 31081  	case Tuint32_t(0x2006):
 31082  		goto __906 /* SIX-PER-EM SPACE */
 31083  	case Tuint32_t(0x2007):
 31084  		goto __907 /* FIGURE SPACE */
 31085  	case Tuint32_t(0x2008):
 31086  		goto __908 /* PUNCTUATION SPACE */
 31087  	case Tuint32_t(0x2009):
 31088  		goto __909 /* THIN SPACE */
 31089  	case Tuint32_t(0x200A):
 31090  		goto __910 /* HAIR SPACE */
 31091  	case Tuint32_t(0x202f):
 31092  		goto __911 /* NARROW NO-BREAK SPACE */
 31093  	case Tuint32_t(0x205f):
 31094  		goto __912 /* MEDIUM MATHEMATICAL SPACE */
 31095  	case Tuint32_t(0x3000):
 31096  		goto __913
 31097  
 31098  	default:
 31099  		goto __914
 31100  	}
 31101  	goto __894
 31102  
 31103  __895:
 31104  __896:
 31105  __897:
 31106  __898: /* OGHAM SPACE MARK */
 31107  __899: /* MONGOLIAN VOWEL SEPARATOR */
 31108  __900: /* EN QUAD */
 31109  __901: /* EM QUAD */
 31110  __902: /* EN SPACE */
 31111  __903: /* EM SPACE */
 31112  __904: /* THREE-PER-EM SPACE */
 31113  __905: /* FOUR-PER-EM SPACE */
 31114  __906: /* SIX-PER-EM SPACE */
 31115  __907: /* FIGURE SPACE */
 31116  __908: /* PUNCTUATION SPACE */
 31117  __909: /* THIN SPACE */
 31118  __910: /* HAIR SPACE */
 31119  __911: /* NARROW NO-BREAK SPACE */
 31120  __912: /* MEDIUM MATHEMATICAL SPACE */
 31121  __913:
 31122  	OK9 = DTRUE
 31123  	goto __894
 31124  
 31125  __914:
 31126  	OK9 = DFALSE
 31127  	goto __894
 31128  __894:
 31129  	;
 31130  
 31131  	if !(OK9 == libc.Bool32(d == OP_HSPACE)) {
 31132  		goto __915
 31133  	}
 31134  
 31135  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 31136  		goto __916
 31137  	}
 31138  
 31139  	active_count-- // Remove non-match possibility
 31140  	next_active_state -= 12
 31141  __916:
 31142  	;
 31143  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 31144  		goto __917
 31145  	}
 31146  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31147  		goto __919
 31148  	}
 31149  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 31150  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31151  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31152  	next_new_state += 12
 31153  	goto __920
 31154  __919:
 31155  	return -43
 31156  __920:
 31157  	;
 31158  	goto __918
 31159  __917:
 31160  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31161  		goto __921
 31162  	}
 31163  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 31164  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31165  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31166  	next_new_state += 12
 31167  	goto __922
 31168  __921:
 31169  	return -43
 31170  __922:
 31171  	;
 31172  __918:
 31173  	;
 31174  __915:
 31175  	;
 31176  __893:
 31177  	;
 31178  	goto __89
 31179  
 31180  	// ==========================================================================
 31181  	// These opcodes are followed by a character that is usually compared
 31182  	//       to the current subject character; it is loaded into d. We still get
 31183  	//       here even if there is no subject character, because in some cases zero
 31184  	//       repetitions are permitted.
 31185  
 31186  	//-----------------------------------------------------------------
 31187  __202:
 31188  	if !(clen > 0 && c == d) {
 31189  		goto __923
 31190  	}
 31191  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31192  		goto __924
 31193  	}
 31194  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31195  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31196  	next_new_state += 12
 31197  	goto __925
 31198  __924:
 31199  	return -43
 31200  __925:
 31201  	;
 31202  __923:
 31203  	;
 31204  	goto __89
 31205  
 31206  	//-----------------------------------------------------------------
 31207  __203:
 31208  	if !(clen == 0) {
 31209  		goto __926
 31210  	}
 31211  	goto __89
 31212  __926:
 31213  	;
 31214  
 31215  	if !(utf_or_ucp != 0) {
 31216  		goto __927
 31217  	}
 31218  
 31219  	if !(c == d) {
 31220  		goto __929
 31221  	}
 31222  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31223  		goto __931
 31224  	}
 31225  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31226  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31227  	next_new_state += 12
 31228  	goto __932
 31229  __931:
 31230  	return -43
 31231  __932:
 31232  	;
 31233  	goto __930
 31234  __929:
 31235  
 31236  	if !(c < Tuint32_t(128)) {
 31237  		goto __933
 31238  	}
 31239  	othercase = uint32(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(c))))
 31240  	goto __934
 31241  __933:
 31242  	othercase = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31243  __934:
 31244  	;
 31245  	if !(d == othercase) {
 31246  		goto __935
 31247  	}
 31248  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31249  		goto __936
 31250  	}
 31251  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31252  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31253  	next_new_state += 12
 31254  	goto __937
 31255  __936:
 31256  	return -43
 31257  __937:
 31258  	;
 31259  __935:
 31260  	;
 31261  __930:
 31262  	;
 31263  	goto __928
 31264  __927:
 31265  	/* Not UTF or UCP mode */
 31266  
 31267  	if !(int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(c)))) == int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(d))))) {
 31268  		goto __938
 31269  	}
 31270  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31271  		goto __939
 31272  	}
 31273  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 31274  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31275  	next_new_state += 12
 31276  	goto __940
 31277  __939:
 31278  	return -43
 31279  __940:
 31280  	;
 31281  __938:
 31282  	;
 31283  __928:
 31284  	;
 31285  	goto __89
 31286  
 31287  	//-----------------------------------------------------------------
 31288  	// This is a tricky one because it can match more than one character.
 31289  	//       Find out how many characters to skip, and then set up a negative state
 31290  	//       to wait for them to pass before continuing.
 31291  
 31292  __204:
 31293  	if !(clen > 0) {
 31294  		goto __941
 31295  	}
 31296  
 31297  	*(*int32)(unsafe.Pointer(bp + 12 /* ncount6 */)) = 0
 31298  	nptr1 = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 31299  		end_subject, utf, bp+12)
 31300  	if !(nptr1 >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31301  		goto __942
 31302  	}
 31303  	reset_could_continue = DTRUE
 31304  __942:
 31305  	;
 31306  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31307  		goto __943
 31308  	}
 31309  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31310  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31311  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 12))
 31312  	next_new_state += 12
 31313  	goto __944
 31314  __943:
 31315  	return -43
 31316  __944:
 31317  	;
 31318  __941:
 31319  	;
 31320  	goto __89
 31321  
 31322  	//-----------------------------------------------------------------
 31323  	// This is a tricky like EXTUNI because it too can match more than one
 31324  	//       character (when CR is followed by LF). In this case, set up a negative
 31325  	//       state to wait for one character to pass before continuing.
 31326  
 31327  __205:
 31328  	if !(clen > 0) {
 31329  		goto __945
 31330  	}
 31331  	switch c {
 31332  	case Tuint32_t('\013'):
 31333  		goto __947
 31334  	case Tuint32_t('\014'):
 31335  		goto __948
 31336  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31337  		goto __949
 31338  	case Tuint32_t(0x2028):
 31339  		goto __950
 31340  	case Tuint32_t(0x2029):
 31341  		goto __951
 31342  	// Fall through
 31343  
 31344  	case Tuint32_t('\012'):
 31345  		goto __952
 31346  
 31347  	case Tuint32_t('\015'):
 31348  		goto __953
 31349  	}
 31350  	goto __946
 31351  
 31352  __947:
 31353  __948:
 31354  __949:
 31355  __950:
 31356  __951:
 31357  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 31358  		goto __954
 31359  	}
 31360  	goto __946
 31361  __954:
 31362  	;
 31363  	// Fall through
 31364  
 31365  __952:
 31366  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31367  		goto __955
 31368  	}
 31369  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31370  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31371  	next_new_state += 12
 31372  	goto __956
 31373  __955:
 31374  	return -43
 31375  __956:
 31376  	;
 31377  	goto __946
 31378  
 31379  __953:
 31380  	if !(ptr+uintptr(1) >= end_subject) {
 31381  		goto __957
 31382  	}
 31383  
 31384  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31385  		goto __959
 31386  	}
 31387  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31388  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31389  	next_new_state += 12
 31390  	goto __960
 31391  __959:
 31392  	return -43
 31393  __960:
 31394  	;
 31395  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31396  		goto __961
 31397  	}
 31398  	reset_could_continue = DTRUE
 31399  __961:
 31400  	;
 31401  	goto __958
 31402  __957:
 31403  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 31404  		goto __962
 31405  	}
 31406  
 31407  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31408  		goto __964
 31409  	}
 31410  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31411  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31412  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 31413  	next_new_state += 12
 31414  	goto __965
 31415  __964:
 31416  	return -43
 31417  __965:
 31418  	;
 31419  	goto __963
 31420  __962:
 31421  
 31422  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31423  		goto __966
 31424  	}
 31425  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31426  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31427  	next_new_state += 12
 31428  	goto __967
 31429  __966:
 31430  	return -43
 31431  __967:
 31432  	;
 31433  __963:
 31434  	;
 31435  __958:
 31436  	;
 31437  	goto __946
 31438  __946:
 31439  	;
 31440  __945:
 31441  	;
 31442  	goto __89
 31443  
 31444  	//-----------------------------------------------------------------
 31445  __206:
 31446  	if !(clen > 0) {
 31447  		goto __968
 31448  	}
 31449  	switch c {
 31450  	case Tuint32_t('\012'):
 31451  		goto __970
 31452  	case Tuint32_t('\013'):
 31453  		goto __971
 31454  	case Tuint32_t('\014'):
 31455  		goto __972
 31456  	case Tuint32_t('\015'):
 31457  		goto __973
 31458  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31459  		goto __974
 31460  	case Tuint32_t(0x2028):
 31461  		goto __975 /* LINE SEPARATOR */
 31462  	case Tuint32_t(0x2029):
 31463  		goto __976
 31464  
 31465  	default:
 31466  		goto __977
 31467  	}
 31468  	goto __969
 31469  
 31470  __970:
 31471  __971:
 31472  __972:
 31473  __973:
 31474  __974:
 31475  __975: /* LINE SEPARATOR */
 31476  __976:
 31477  	goto __969
 31478  
 31479  __977:
 31480  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31481  		goto __978
 31482  	}
 31483  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31484  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31485  	next_new_state += 12
 31486  	goto __979
 31487  __978:
 31488  	return -43
 31489  __979:
 31490  	;
 31491  	goto __969
 31492  __969:
 31493  	;
 31494  __968:
 31495  	;
 31496  	goto __89
 31497  
 31498  	//-----------------------------------------------------------------
 31499  __207:
 31500  	if !(clen > 0) {
 31501  		goto __980
 31502  	}
 31503  	switch c {
 31504  	case Tuint32_t('\012'):
 31505  		goto __982
 31506  	case Tuint32_t('\013'):
 31507  		goto __983
 31508  	case Tuint32_t('\014'):
 31509  		goto __984
 31510  	case Tuint32_t('\015'):
 31511  		goto __985
 31512  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 31513  		goto __986
 31514  	case Tuint32_t(0x2028):
 31515  		goto __987 /* LINE SEPARATOR */
 31516  	case Tuint32_t(0x2029):
 31517  		goto __988
 31518  
 31519  	default:
 31520  		goto __989
 31521  	}
 31522  	goto __981
 31523  
 31524  __982:
 31525  __983:
 31526  __984:
 31527  __985:
 31528  __986:
 31529  __987: /* LINE SEPARATOR */
 31530  __988:
 31531  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31532  		goto __990
 31533  	}
 31534  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31535  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31536  	next_new_state += 12
 31537  	goto __991
 31538  __990:
 31539  	return -43
 31540  __991:
 31541  	;
 31542  	goto __981
 31543  
 31544  __989:
 31545  	goto __981
 31546  __981:
 31547  	;
 31548  __980:
 31549  	;
 31550  	goto __89
 31551  
 31552  	//-----------------------------------------------------------------
 31553  __208:
 31554  	if !(clen > 0) {
 31555  		goto __992
 31556  	}
 31557  	switch c {
 31558  	case Tuint32_t('\011'):
 31559  		goto __994
 31560  	case Tuint32_t('\040'):
 31561  		goto __995
 31562  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31563  		goto __996
 31564  	case Tuint32_t(0x1680):
 31565  		goto __997 /* OGHAM SPACE MARK */
 31566  	case Tuint32_t(0x180e):
 31567  		goto __998 /* MONGOLIAN VOWEL SEPARATOR */
 31568  	case Tuint32_t(0x2000):
 31569  		goto __999 /* EN QUAD */
 31570  	case Tuint32_t(0x2001):
 31571  		goto __1000 /* EM QUAD */
 31572  	case Tuint32_t(0x2002):
 31573  		goto __1001 /* EN SPACE */
 31574  	case Tuint32_t(0x2003):
 31575  		goto __1002 /* EM SPACE */
 31576  	case Tuint32_t(0x2004):
 31577  		goto __1003 /* THREE-PER-EM SPACE */
 31578  	case Tuint32_t(0x2005):
 31579  		goto __1004 /* FOUR-PER-EM SPACE */
 31580  	case Tuint32_t(0x2006):
 31581  		goto __1005 /* SIX-PER-EM SPACE */
 31582  	case Tuint32_t(0x2007):
 31583  		goto __1006 /* FIGURE SPACE */
 31584  	case Tuint32_t(0x2008):
 31585  		goto __1007 /* PUNCTUATION SPACE */
 31586  	case Tuint32_t(0x2009):
 31587  		goto __1008 /* THIN SPACE */
 31588  	case Tuint32_t(0x200A):
 31589  		goto __1009 /* HAIR SPACE */
 31590  	case Tuint32_t(0x202f):
 31591  		goto __1010 /* NARROW NO-BREAK SPACE */
 31592  	case Tuint32_t(0x205f):
 31593  		goto __1011 /* MEDIUM MATHEMATICAL SPACE */
 31594  	case Tuint32_t(0x3000):
 31595  		goto __1012
 31596  
 31597  	default:
 31598  		goto __1013
 31599  	}
 31600  	goto __993
 31601  
 31602  __994:
 31603  __995:
 31604  __996:
 31605  __997: /* OGHAM SPACE MARK */
 31606  __998: /* MONGOLIAN VOWEL SEPARATOR */
 31607  __999: /* EN QUAD */
 31608  __1000: /* EM QUAD */
 31609  __1001: /* EN SPACE */
 31610  __1002: /* EM SPACE */
 31611  __1003: /* THREE-PER-EM SPACE */
 31612  __1004: /* FOUR-PER-EM SPACE */
 31613  __1005: /* SIX-PER-EM SPACE */
 31614  __1006: /* FIGURE SPACE */
 31615  __1007: /* PUNCTUATION SPACE */
 31616  __1008: /* THIN SPACE */
 31617  __1009: /* HAIR SPACE */
 31618  __1010: /* NARROW NO-BREAK SPACE */
 31619  __1011: /* MEDIUM MATHEMATICAL SPACE */
 31620  __1012:
 31621  	goto __993
 31622  
 31623  __1013:
 31624  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31625  		goto __1014
 31626  	}
 31627  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31628  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31629  	next_new_state += 12
 31630  	goto __1015
 31631  __1014:
 31632  	return -43
 31633  __1015:
 31634  	;
 31635  	goto __993
 31636  __993:
 31637  	;
 31638  __992:
 31639  	;
 31640  	goto __89
 31641  
 31642  	//-----------------------------------------------------------------
 31643  __209:
 31644  	if !(clen > 0) {
 31645  		goto __1016
 31646  	}
 31647  	switch c {
 31648  	case Tuint32_t('\011'):
 31649  		goto __1018
 31650  	case Tuint32_t('\040'):
 31651  		goto __1019
 31652  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 31653  		goto __1020
 31654  	case Tuint32_t(0x1680):
 31655  		goto __1021 /* OGHAM SPACE MARK */
 31656  	case Tuint32_t(0x180e):
 31657  		goto __1022 /* MONGOLIAN VOWEL SEPARATOR */
 31658  	case Tuint32_t(0x2000):
 31659  		goto __1023 /* EN QUAD */
 31660  	case Tuint32_t(0x2001):
 31661  		goto __1024 /* EM QUAD */
 31662  	case Tuint32_t(0x2002):
 31663  		goto __1025 /* EN SPACE */
 31664  	case Tuint32_t(0x2003):
 31665  		goto __1026 /* EM SPACE */
 31666  	case Tuint32_t(0x2004):
 31667  		goto __1027 /* THREE-PER-EM SPACE */
 31668  	case Tuint32_t(0x2005):
 31669  		goto __1028 /* FOUR-PER-EM SPACE */
 31670  	case Tuint32_t(0x2006):
 31671  		goto __1029 /* SIX-PER-EM SPACE */
 31672  	case Tuint32_t(0x2007):
 31673  		goto __1030 /* FIGURE SPACE */
 31674  	case Tuint32_t(0x2008):
 31675  		goto __1031 /* PUNCTUATION SPACE */
 31676  	case Tuint32_t(0x2009):
 31677  		goto __1032 /* THIN SPACE */
 31678  	case Tuint32_t(0x200A):
 31679  		goto __1033 /* HAIR SPACE */
 31680  	case Tuint32_t(0x202f):
 31681  		goto __1034 /* NARROW NO-BREAK SPACE */
 31682  	case Tuint32_t(0x205f):
 31683  		goto __1035 /* MEDIUM MATHEMATICAL SPACE */
 31684  	case Tuint32_t(0x3000):
 31685  		goto __1036
 31686  
 31687  	default:
 31688  		goto __1037
 31689  	}
 31690  	goto __1017
 31691  
 31692  __1018:
 31693  __1019:
 31694  __1020:
 31695  __1021: /* OGHAM SPACE MARK */
 31696  __1022: /* MONGOLIAN VOWEL SEPARATOR */
 31697  __1023: /* EN QUAD */
 31698  __1024: /* EM QUAD */
 31699  __1025: /* EN SPACE */
 31700  __1026: /* EM SPACE */
 31701  __1027: /* THREE-PER-EM SPACE */
 31702  __1028: /* FOUR-PER-EM SPACE */
 31703  __1029: /* SIX-PER-EM SPACE */
 31704  __1030: /* FIGURE SPACE */
 31705  __1031: /* PUNCTUATION SPACE */
 31706  __1032: /* THIN SPACE */
 31707  __1033: /* HAIR SPACE */
 31708  __1034: /* NARROW NO-BREAK SPACE */
 31709  __1035: /* MEDIUM MATHEMATICAL SPACE */
 31710  __1036:
 31711  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31712  		goto __1038
 31713  	}
 31714  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31715  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31716  	next_new_state += 12
 31717  	goto __1039
 31718  __1038:
 31719  	return -43
 31720  __1039:
 31721  	;
 31722  	goto __1017
 31723  
 31724  __1037:
 31725  	goto __1017
 31726  __1017:
 31727  	;
 31728  __1016:
 31729  	;
 31730  	goto __89
 31731  
 31732  	//-----------------------------------------------------------------
 31733  	// Match a negated single character casefully.
 31734  
 31735  __210:
 31736  	if !(clen > 0 && c != d) {
 31737  		goto __1040
 31738  	}
 31739  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31740  		goto __1041
 31741  	}
 31742  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31743  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31744  	next_new_state += 12
 31745  	goto __1042
 31746  __1041:
 31747  	return -43
 31748  __1042:
 31749  	;
 31750  __1040:
 31751  	;
 31752  	goto __89
 31753  
 31754  	//-----------------------------------------------------------------
 31755  	// Match a negated single character caselessly.
 31756  
 31757  __211:
 31758  	if !(clen > 0) {
 31759  		goto __1043
 31760  	}
 31761  
 31762  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31763  		goto __1044
 31764  	}
 31765  	otherd = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31766  	goto __1045
 31767  __1044:
 31768  	otherd = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31769  __1045:
 31770  	;
 31771  	if !(c != d && c != otherd) {
 31772  		goto __1046
 31773  	}
 31774  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31775  		goto __1047
 31776  	}
 31777  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31778  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31779  	next_new_state += 12
 31780  	goto __1048
 31781  __1047:
 31782  	return -43
 31783  __1048:
 31784  	;
 31785  __1046:
 31786  	;
 31787  __1043:
 31788  	;
 31789  	goto __89
 31790  
 31791  	//-----------------------------------------------------------------
 31792  __212:
 31793  __213:
 31794  __214:
 31795  __215:
 31796  __216:
 31797  __217:
 31798  	caseless = DTRUE
 31799  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31800  
 31801  	// Fall through
 31802  __218:
 31803  __219:
 31804  __220:
 31805  __221:
 31806  __222:
 31807  __223:
 31808  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 31809  	if !(count > 0) {
 31810  		goto __1049
 31811  	}
 31812  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31813  		goto __1050
 31814  	}
 31815  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31816  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31817  	next_active_state += 12
 31818  	goto __1051
 31819  __1050:
 31820  	return -43
 31821  __1051:
 31822  	;
 31823  __1049:
 31824  	;
 31825  	if !(clen > 0) {
 31826  		goto __1052
 31827  	}
 31828  
 31829  	otherd1 = DNOTACHAR
 31830  	if !(caseless != 0) {
 31831  		goto __1053
 31832  	}
 31833  
 31834  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31835  		goto __1054
 31836  	}
 31837  	otherd1 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31838  	goto __1055
 31839  __1054:
 31840  	otherd1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31841  __1055:
 31842  	;
 31843  __1053:
 31844  	;
 31845  	if !(libc.Bool32(c == d || c == otherd1) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31846  		goto __1056
 31847  	}
 31848  
 31849  	if !(count > 0 && (codevalue == OP_POSPLUS || codevalue == OP_NOTPOSPLUS)) {
 31850  		goto __1057
 31851  	}
 31852  
 31853  	active_count-- // Remove non-match possibility
 31854  	next_active_state -= 12
 31855  __1057:
 31856  	;
 31857  	count++
 31858  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31859  		goto __1058
 31860  	}
 31861  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 31862  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31863  	next_new_state += 12
 31864  	goto __1059
 31865  __1058:
 31866  	return -43
 31867  __1059:
 31868  	;
 31869  __1056:
 31870  	;
 31871  __1052:
 31872  	;
 31873  	goto __89
 31874  
 31875  	//-----------------------------------------------------------------
 31876  __224:
 31877  __225:
 31878  __226:
 31879  __227:
 31880  __228:
 31881  __229:
 31882  	caseless = DTRUE
 31883  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31884  	// Fall through
 31885  __230:
 31886  __231:
 31887  __232:
 31888  __233:
 31889  __234:
 31890  __235:
 31891  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31892  		goto __1060
 31893  	}
 31894  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31895  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31896  	next_active_state += 12
 31897  	goto __1061
 31898  __1060:
 31899  	return -43
 31900  __1061:
 31901  	;
 31902  	if !(clen > 0) {
 31903  		goto __1062
 31904  	}
 31905  
 31906  	otherd2 = DNOTACHAR
 31907  	if !(caseless != 0) {
 31908  		goto __1063
 31909  	}
 31910  
 31911  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31912  		goto __1064
 31913  	}
 31914  	otherd2 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31915  	goto __1065
 31916  __1064:
 31917  	otherd2 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31918  __1065:
 31919  	;
 31920  __1063:
 31921  	;
 31922  	if !(libc.Bool32(c == d || c == otherd2) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31923  		goto __1066
 31924  	}
 31925  
 31926  	if !(codevalue == OP_POSQUERY || codevalue == OP_NOTPOSQUERY) {
 31927  		goto __1067
 31928  	}
 31929  
 31930  	active_count-- // Remove non-match possibility
 31931  	next_active_state -= 12
 31932  __1067:
 31933  	;
 31934  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31935  		goto __1068
 31936  	}
 31937  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31938  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31939  	next_new_state += 12
 31940  	goto __1069
 31941  __1068:
 31942  	return -43
 31943  __1069:
 31944  	;
 31945  __1066:
 31946  	;
 31947  __1062:
 31948  	;
 31949  	goto __89
 31950  
 31951  	//-----------------------------------------------------------------
 31952  __236:
 31953  __237:
 31954  __238:
 31955  __239:
 31956  __240:
 31957  __241:
 31958  	caseless = DTRUE
 31959  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31960  	// Fall through
 31961  __242:
 31962  __243:
 31963  __244:
 31964  __245:
 31965  __246:
 31966  __247:
 31967  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31968  		goto __1070
 31969  	}
 31970  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31971  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31972  	next_active_state += 12
 31973  	goto __1071
 31974  __1070:
 31975  	return -43
 31976  __1071:
 31977  	;
 31978  	if !(clen > 0) {
 31979  		goto __1072
 31980  	}
 31981  
 31982  	otherd3 = DNOTACHAR
 31983  	if !(caseless != 0) {
 31984  		goto __1073
 31985  	}
 31986  
 31987  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31988  		goto __1074
 31989  	}
 31990  	otherd3 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31991  	goto __1075
 31992  __1074:
 31993  	otherd3 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31994  __1075:
 31995  	;
 31996  __1073:
 31997  	;
 31998  	if !(libc.Bool32(c == d || c == otherd3) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31999  		goto __1076
 32000  	}
 32001  
 32002  	if !(codevalue == OP_POSSTAR || codevalue == OP_NOTPOSSTAR) {
 32003  		goto __1077
 32004  	}
 32005  
 32006  	active_count-- // Remove non-match possibility
 32007  	next_active_state -= 12
 32008  __1077:
 32009  	;
 32010  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32011  		goto __1078
 32012  	}
 32013  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32014  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32015  	next_new_state += 12
 32016  	goto __1079
 32017  __1078:
 32018  	return -43
 32019  __1079:
 32020  	;
 32021  __1076:
 32022  	;
 32023  __1072:
 32024  	;
 32025  	goto __89
 32026  
 32027  	//-----------------------------------------------------------------
 32028  __248:
 32029  __249:
 32030  	caseless = DTRUE
 32031  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32032  	// Fall through
 32033  __250:
 32034  __251:
 32035  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32036  	if !(clen > 0) {
 32037  		goto __1080
 32038  	}
 32039  
 32040  	otherd4 = DNOTACHAR
 32041  	if !(caseless != 0) {
 32042  		goto __1081
 32043  	}
 32044  
 32045  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32046  		goto __1082
 32047  	}
 32048  	otherd4 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 32049  	goto __1083
 32050  __1082:
 32051  	otherd4 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32052  __1083:
 32053  	;
 32054  __1081:
 32055  	;
 32056  	if !(libc.Bool32(c == d || c == otherd4) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32057  		goto __1084
 32058  	}
 32059  
 32060  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32061  		goto __1085
 32062  	}
 32063  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32064  		goto __1087
 32065  	}
 32066  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32067  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32068  	next_new_state += 12
 32069  	goto __1088
 32070  __1087:
 32071  	return -43
 32072  __1088:
 32073  	;
 32074  	goto __1086
 32075  __1085:
 32076  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32077  		goto __1089
 32078  	}
 32079  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32080  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32081  	next_new_state += 12
 32082  	goto __1090
 32083  __1089:
 32084  	return -43
 32085  __1090:
 32086  	;
 32087  __1086:
 32088  	;
 32089  __1084:
 32090  	;
 32091  __1080:
 32092  	;
 32093  	goto __89
 32094  
 32095  	//-----------------------------------------------------------------
 32096  __252:
 32097  __253:
 32098  __254:
 32099  __255:
 32100  __256:
 32101  __257:
 32102  	caseless = DTRUE
 32103  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32104  	// Fall through
 32105  __258:
 32106  __259:
 32107  __260:
 32108  __261:
 32109  __262:
 32110  __263:
 32111  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32112  		goto __1091
 32113  	}
 32114  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32115  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32116  	next_active_state += 12
 32117  	goto __1092
 32118  __1091:
 32119  	return -43
 32120  __1092:
 32121  	;
 32122  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32123  	if !(clen > 0) {
 32124  		goto __1093
 32125  	}
 32126  
 32127  	otherd5 = DNOTACHAR
 32128  	if !(caseless != 0) {
 32129  		goto __1094
 32130  	}
 32131  
 32132  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32133  		goto __1095
 32134  	}
 32135  	otherd5 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 32136  	goto __1096
 32137  __1095:
 32138  	otherd5 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32139  __1096:
 32140  	;
 32141  __1094:
 32142  	;
 32143  	if !(libc.Bool32(c == d || c == otherd5) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32144  		goto __1097
 32145  	}
 32146  
 32147  	if !(codevalue == OP_POSUPTO || codevalue == OP_NOTPOSUPTO) {
 32148  		goto __1098
 32149  	}
 32150  
 32151  	active_count-- // Remove non-match possibility
 32152  	next_active_state -= 12
 32153  __1098:
 32154  	;
 32155  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32156  		goto __1099
 32157  	}
 32158  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32159  		goto __1101
 32160  	}
 32161  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32162  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32163  	next_new_state += 12
 32164  	goto __1102
 32165  __1101:
 32166  	return -43
 32167  __1102:
 32168  	;
 32169  	goto __1100
 32170  __1099:
 32171  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32172  		goto __1103
 32173  	}
 32174  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32175  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32176  	next_new_state += 12
 32177  	goto __1104
 32178  __1103:
 32179  	return -43
 32180  __1104:
 32181  	;
 32182  __1100:
 32183  	;
 32184  __1097:
 32185  	;
 32186  __1093:
 32187  	;
 32188  	goto __89
 32189  
 32190  	// ==========================================================================
 32191  	// These are the class-handling opcodes
 32192  
 32193  __264:
 32194  __265:
 32195  __266:
 32196  
 32197  	isinclass = DFALSE
 32198  
 32199  	// For a simple class, there is always just a 32-byte table, and we
 32200  	//         can set isinclass from it.
 32201  
 32202  	if !(codevalue != OP_XCLASS) {
 32203  		goto __1105
 32204  	}
 32205  
 32206  	ecode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 32207  	if !(clen > 0) {
 32208  		goto __1107
 32209  	}
 32210  
 32211  	if c > Tuint32_t(255) {
 32212  		isinclass = libc.Bool32(codevalue == OP_NCLASS)
 32213  	} else {
 32214  		isinclass = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(code + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 32215  	}
 32216  __1107:
 32217  	;
 32218  	goto __1106
 32219  __1105:
 32220  
 32221  	ecode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32222  	if !(clen > 0) {
 32223  		goto __1108
 32224  	}
 32225  	isinclass = X_pcre2_xclass_8(tls, c, code+uintptr(1)+uintptr(DLINK_SIZE), utf)
 32226  __1108:
 32227  	;
 32228  __1106:
 32229  	;
 32230  
 32231  	// At this point, isinclass is set for all kinds of class, and ecode
 32232  	//         points to the byte after the end of the class. If there is a
 32233  	//         quantifier, this is where it will be.
 32234  
 32235  	next_state_offset = int32((int64(ecode) - int64(start_code)) / 1)
 32236  
 32237  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) {
 32238  	case OP_CRSTAR:
 32239  		goto __1110
 32240  	case OP_CRMINSTAR:
 32241  		goto __1111
 32242  	case OP_CRPOSSTAR:
 32243  		goto __1112
 32244  
 32245  	case OP_CRPLUS:
 32246  		goto __1113
 32247  	case OP_CRMINPLUS:
 32248  		goto __1114
 32249  	case OP_CRPOSPLUS:
 32250  		goto __1115
 32251  
 32252  	case OP_CRQUERY:
 32253  		goto __1116
 32254  	case OP_CRMINQUERY:
 32255  		goto __1117
 32256  	case OP_CRPOSQUERY:
 32257  		goto __1118
 32258  
 32259  	case OP_CRRANGE:
 32260  		goto __1119
 32261  	case OP_CRMINRANGE:
 32262  		goto __1120
 32263  	case OP_CRPOSRANGE:
 32264  		goto __1121
 32265  
 32266  	default:
 32267  		goto __1122
 32268  	}
 32269  	goto __1109
 32270  
 32271  __1110:
 32272  __1111:
 32273  __1112:
 32274  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32275  		goto __1123
 32276  	}
 32277  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32278  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32279  	next_active_state += 12
 32280  	goto __1124
 32281  __1123:
 32282  	return -43
 32283  __1124:
 32284  	;
 32285  	if !(isinclass != 0) {
 32286  		goto __1125
 32287  	}
 32288  
 32289  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSSTAR) {
 32290  		goto __1126
 32291  	}
 32292  
 32293  	active_count-- // Remove non-match possibility
 32294  	next_active_state -= 12
 32295  __1126:
 32296  	;
 32297  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32298  		goto __1127
 32299  	}
 32300  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32301  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32302  	next_new_state += 12
 32303  	goto __1128
 32304  __1127:
 32305  	return -43
 32306  __1128:
 32307  	;
 32308  __1125:
 32309  	;
 32310  	goto __1109
 32311  
 32312  __1113:
 32313  __1114:
 32314  __1115:
 32315  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32316  	if !(count > 0) {
 32317  		goto __1129
 32318  	}
 32319  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32320  		goto __1130
 32321  	}
 32322  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32323  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32324  	next_active_state += 12
 32325  	goto __1131
 32326  __1130:
 32327  	return -43
 32328  __1131:
 32329  	;
 32330  __1129:
 32331  	;
 32332  	if !(isinclass != 0) {
 32333  		goto __1132
 32334  	}
 32335  
 32336  	if !(count > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSPLUS) {
 32337  		goto __1133
 32338  	}
 32339  
 32340  	active_count-- // Remove non-match possibility
 32341  	next_active_state -= 12
 32342  __1133:
 32343  	;
 32344  	count++
 32345  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32346  		goto __1134
 32347  	}
 32348  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32349  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32350  	next_new_state += 12
 32351  	goto __1135
 32352  __1134:
 32353  	return -43
 32354  __1135:
 32355  	;
 32356  __1132:
 32357  	;
 32358  	goto __1109
 32359  
 32360  __1116:
 32361  __1117:
 32362  __1118:
 32363  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32364  		goto __1136
 32365  	}
 32366  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32367  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32368  	next_active_state += 12
 32369  	goto __1137
 32370  __1136:
 32371  	return -43
 32372  __1137:
 32373  	;
 32374  	if !(isinclass != 0) {
 32375  		goto __1138
 32376  	}
 32377  
 32378  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSQUERY) {
 32379  		goto __1139
 32380  	}
 32381  
 32382  	active_count-- // Remove non-match possibility
 32383  	next_active_state -= 12
 32384  __1139:
 32385  	;
 32386  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32387  		goto __1140
 32388  	}
 32389  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1
 32390  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32391  	next_new_state += 12
 32392  	goto __1141
 32393  __1140:
 32394  	return -43
 32395  __1141:
 32396  	;
 32397  __1138:
 32398  	;
 32399  	goto __1109
 32400  
 32401  __1119:
 32402  __1120:
 32403  __1121:
 32404  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32405  	if !(count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) {
 32406  		goto __1142
 32407  	}
 32408  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32409  		goto __1143
 32410  	}
 32411  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32412  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32413  	next_active_state += 12
 32414  	goto __1144
 32415  __1143:
 32416  	return -43
 32417  __1144:
 32418  	;
 32419  __1142:
 32420  	;
 32421  	if !(isinclass != 0) {
 32422  		goto __1145
 32423  	}
 32424  
 32425  	max = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 4)))))
 32426  
 32427  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSRANGE && count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) {
 32428  		goto __1146
 32429  	}
 32430  
 32431  	active_count-- // Remove non-match possibility
 32432  	next_active_state -= 12
 32433  __1146:
 32434  	;
 32435  
 32436  	if !(libc.PreIncInt32(&count, 1) >= max && max != 0) {
 32437  		goto __1147
 32438  	} /* Max 0 => no limit */
 32439  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32440  		goto __1149
 32441  	}
 32442  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32443  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32444  	next_new_state += 12
 32445  	goto __1150
 32446  __1149:
 32447  	return -43
 32448  __1150:
 32449  	;
 32450  	goto __1148
 32451  __1147:
 32452  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32453  		goto __1151
 32454  	}
 32455  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32456  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32457  	next_new_state += 12
 32458  	goto __1152
 32459  __1151:
 32460  	return -43
 32461  __1152:
 32462  	;
 32463  __1148:
 32464  	;
 32465  __1145:
 32466  	;
 32467  	goto __1109
 32468  
 32469  __1122:
 32470  	if !(isinclass != 0) {
 32471  		goto __1153
 32472  	}
 32473  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32474  		goto __1154
 32475  	}
 32476  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset
 32477  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32478  	next_new_state += 12
 32479  	goto __1155
 32480  __1154:
 32481  	return -43
 32482  __1155:
 32483  	;
 32484  __1153:
 32485  	;
 32486  	goto __1109
 32487  __1109:
 32488  	;
 32489  
 32490  	goto __89
 32491  
 32492  	// ==========================================================================
 32493  	// These are the opcodes for fancy brackets of various kinds. We have
 32494  	//       to use recursion in order to handle them. The "always failing" assertion
 32495  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 32496  	//       though the other "backtracking verbs" are not supported.
 32497  
 32498  __267:
 32499  	forced_fail++ // Count FAILs for multiple states
 32500  	goto __89
 32501  
 32502  __268:
 32503  __269:
 32504  __270:
 32505  __271:
 32506  
 32507  	endasscode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32508  	*(*uintptr)(unsafe.Pointer(bp + 16 /* rws */)) = RWS
 32509  
 32510  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32511  		goto __1156
 32512  	}
 32513  
 32514  	rc = more_workspace(tls, bp+16, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32515  	if !(rc != 0) {
 32516  		goto __1157
 32517  	}
 32518  	return rc
 32519  __1157:
 32520  	;
 32521  	RWS = *(*uintptr)(unsafe.Pointer(bp + 16 /* rws */))
 32522  __1156:
 32523  	;
 32524  
 32525  	local_offsets = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree)*4
 32526  	local_workspace = local_offsets + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32527  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32528  
 32529  __1158:
 32530  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode))) == OP_ALT) {
 32531  		goto __1159
 32532  	}
 32533  	endasscode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 2)))))
 32534  	goto __1158
 32535  __1159:
 32536  	;
 32537  
 32538  	rc = internal_dfa_match(tls,
 32539  		mb,   // static match data
 32540  		code, // this subexpression's code
 32541  		ptr,  // where we currently are
 32542  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32543  		local_offsets, // offset vector
 32544  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32545  		local_workspace, // workspace vector
 32546  		DRWS_RSIZE,      // size of same
 32547  		rlevel,          // function recursion level
 32548  		RWS)             // recursion workspace
 32549  
 32550  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32551  
 32552  	if !(rc < 0 && rc != -1) {
 32553  		goto __1160
 32554  	}
 32555  	return rc
 32556  __1160:
 32557  	;
 32558  	if !(libc.Bool32(rc >= 0) == libc.Bool32(codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK)) {
 32559  		goto __1161
 32560  	}
 32561  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32562  		goto __1162
 32563  	}
 32564  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1)
 32565  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32566  	next_active_state += 12
 32567  	goto __1163
 32568  __1162:
 32569  	return -43
 32570  __1163:
 32571  	;
 32572  __1161:
 32573  	;
 32574  
 32575  	goto __89
 32576  
 32577  	//-----------------------------------------------------------------
 32578  __272:
 32579  __273:
 32580  
 32581  	codelink = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32582  
 32583  	// Because of the way auto-callout works during compile, a callout item
 32584  	//         is inserted between OP_COND and an assertion condition. This does not
 32585  	//         happen for the other conditions.
 32586  
 32587  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT ||
 32588  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT_STR) {
 32589  		goto __1164
 32590  	}
 32591  
 32592  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb,
 32593  		uint64(1+DLINK_SIZE), bp+24)
 32594  	if !(rrc < 0) {
 32595  		goto __1165
 32596  	}
 32597  	return rrc
 32598  __1165:
 32599  	; // Abandon
 32600  	if !(rrc > 0) {
 32601  		goto __1166
 32602  	}
 32603  	goto __89
 32604  __1166:
 32605  	;                                                                               // Fail this thread
 32606  	code += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24 /* callout_length */))) // Skip callout data
 32607  __1164:
 32608  	;
 32609  
 32610  	condcode = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))
 32611  
 32612  	// Back reference conditions and duplicate named recursion conditions
 32613  	//         are not supported
 32614  
 32615  	if !(int32(condcode) == OP_CREF || int32(condcode) == OP_DNCREF || int32(condcode) == OP_DNRREF) {
 32616  		goto __1167
 32617  	}
 32618  	return -40
 32619  __1167:
 32620  	;
 32621  
 32622  	// The DEFINE condition is always false, and the assertion (?!) is
 32623  	//         converted to OP_FAIL.
 32624  
 32625  	if !(int32(condcode) == OP_FALSE || int32(condcode) == OP_FAIL) {
 32626  		goto __1168
 32627  	}
 32628  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32629  		goto __1170
 32630  	}
 32631  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32632  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32633  	next_active_state += 12
 32634  	goto __1171
 32635  __1170:
 32636  	return -43
 32637  __1171:
 32638  	;
 32639  	goto __1169
 32640  __1168:
 32641  	if !(int32(condcode) == OP_TRUE) {
 32642  		goto __1172
 32643  	}
 32644  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32645  		goto __1174
 32646  	}
 32647  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2
 32648  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32649  	next_active_state += 12
 32650  	goto __1175
 32651  __1174:
 32652  	return -43
 32653  __1175:
 32654  	;
 32655  	goto __1173
 32656  __1172:
 32657  	if !(int32(condcode) == OP_RREF) {
 32658  		goto __1176
 32659  	}
 32660  
 32661  	value = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 32662  	if !(value != uint32(DRREF_ANY)) {
 32663  		goto __1178
 32664  	}
 32665  	return -40
 32666  __1178:
 32667  	;
 32668  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive != uintptr(0)) {
 32669  		goto __1179
 32670  	}
 32671  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32672  		goto __1181
 32673  	}
 32674  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2 + DIMM2_SIZE
 32675  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32676  	next_active_state += 12
 32677  	goto __1182
 32678  __1181:
 32679  	return -43
 32680  __1182:
 32681  	;
 32682  	goto __1180
 32683  __1179:
 32684  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32685  		goto __1183
 32686  	}
 32687  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32688  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32689  	next_active_state += 12
 32690  	goto __1184
 32691  __1183:
 32692  	return -43
 32693  __1184:
 32694  	;
 32695  __1180:
 32696  	;
 32697  	goto __1177
 32698  __1176:
 32699  
 32700  	asscode = code + uintptr(DLINK_SIZE) + uintptr(1)
 32701  	endasscode1 = asscode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 2)))))
 32702  	*(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */)) = RWS
 32703  
 32704  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32705  		goto __1185
 32706  	}
 32707  
 32708  	rc1 = more_workspace(tls, bp+32, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32709  	if !(rc1 != 0) {
 32710  		goto __1186
 32711  	}
 32712  	return rc1
 32713  __1186:
 32714  	;
 32715  	RWS = *(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */))
 32716  __1185:
 32717  	;
 32718  
 32719  	local_offsets1 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree)*4
 32720  	local_workspace1 = local_offsets1 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32721  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32722  
 32723  __1187:
 32724  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1))) == OP_ALT) {
 32725  		goto __1188
 32726  	}
 32727  	endasscode1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 2)))))
 32728  	goto __1187
 32729  __1188:
 32730  	;
 32731  
 32732  	rc1 = internal_dfa_match(tls,
 32733  		mb,      // fixed match data
 32734  		asscode, // this subexpression's code
 32735  		ptr,     // where we currently are
 32736  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32737  		local_offsets1, // offset vector
 32738  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32739  		local_workspace1, // workspace vector
 32740  		DRWS_RSIZE,       // size of same
 32741  		rlevel,           // function recursion level
 32742  		RWS)              // recursion workspace
 32743  
 32744  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32745  
 32746  	if !(rc1 < 0 && rc1 != -1) {
 32747  		goto __1189
 32748  	}
 32749  	return rc1
 32750  __1189:
 32751  	;
 32752  	if !(libc.Bool32(rc1 >= 0) == libc.Bool32(int32(condcode) == OP_ASSERT || int32(condcode) == OP_ASSERTBACK)) {
 32753  		goto __1190
 32754  	}
 32755  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32756  		goto __1192
 32757  	}
 32758  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode1+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1)
 32759  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32760  	next_active_state += 12
 32761  	goto __1193
 32762  __1192:
 32763  	return -43
 32764  __1193:
 32765  	;
 32766  	goto __1191
 32767  __1190:
 32768  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32769  		goto __1194
 32770  	}
 32771  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32772  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32773  	next_active_state += 12
 32774  	goto __1195
 32775  __1194:
 32776  	return -43
 32777  __1195:
 32778  	;
 32779  __1191:
 32780  	;
 32781  __1177:
 32782  	;
 32783  __1173:
 32784  	;
 32785  __1169:
 32786  	;
 32787  
 32788  	goto __89
 32789  
 32790  	//-----------------------------------------------------------------
 32791  __274:
 32792  
 32793  	*(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */)) = RWS
 32794  	callpat = start_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32795  	if callpat == (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code {
 32796  		recno = uint32(0)
 32797  	} else {
 32798  		recno = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 4))))
 32799  	}
 32800  
 32801  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree) < uint64(DRWS_RSIZE)+uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32802  		goto __1196
 32803  	}
 32804  
 32805  	rc2 = more_workspace(tls, bp+40, uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32806  	if !(rc2 != 0) {
 32807  		goto __1197
 32808  	}
 32809  	return rc2
 32810  __1197:
 32811  	;
 32812  	RWS = *(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */))
 32813  __1196:
 32814  	;
 32815  
 32816  	local_offsets2 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree)*4
 32817  	local_workspace2 = local_offsets2 + uintptr(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32818  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32819  
 32820  	// Check for repeating a recursion without advancing the subject
 32821  	//         pointer. This should catch convoluted mutual recursions. (Some simple
 32822  	//         cases are caught at compile time.)
 32823  
 32824  	ri = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32825  __1198:
 32826  	if !(ri != uintptr(0)) {
 32827  		goto __1200
 32828  	}
 32829  	if !(recno == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fgroup_num && ptr == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fsubject_position) {
 32830  		goto __1201
 32831  	}
 32832  	return -52
 32833  __1201:
 32834  	;
 32835  	goto __1199
 32836  __1199:
 32837  	ri = (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fprevrec
 32838  	goto __1198
 32839  	goto __1200
 32840  __1200:
 32841  	;
 32842  
 32843  	// Remember this recursion and where we started it so as to
 32844  	//         catch infinite loops.
 32845  
 32846  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fgroup_num = recno
 32847  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fsubject_position = ptr
 32848  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32849  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = bp + 48 /* &new_recursive */
 32850  
 32851  	rc2 = internal_dfa_match(tls,
 32852  		mb,      // fixed match data
 32853  		callpat, // this subexpression's code
 32854  		ptr,     // where we currently are
 32855  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32856  		local_offsets2, // offset vector
 32857  		uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32858  		local_workspace2, // workspace vector
 32859  		DRWS_RSIZE,       // size of same
 32860  		rlevel,           // function recursion level
 32861  		RWS)              // recursion workspace
 32862  
 32863  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32864  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec // Done this recursion
 32865  
 32866  	// Ran out of internal offsets
 32867  
 32868  	if !(rc2 == 0) {
 32869  		goto __1202
 32870  	}
 32871  	return -39
 32872  __1202:
 32873  	;
 32874  
 32875  	// For each successful matched substring, set up the next state with a
 32876  	//         count of characters to skip before trying it. Note that the count is in
 32877  	//         characters, not bytes.
 32878  
 32879  	if !(rc2 > 0) {
 32880  		goto __1203
 32881  	}
 32882  
 32883  	rc2 = rc2*2 - 2
 32884  __1205:
 32885  	if !(rc2 >= 0) {
 32886  		goto __1207
 32887  	}
 32888  
 32889  	charcount = *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8))
 32890  	if !(utf != 0) {
 32891  		goto __1208
 32892  	}
 32893  
 32894  	p = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8)))
 32895  	pp = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8)))
 32896  __1209:
 32897  	if !(p < pp) {
 32898  		goto __1210
 32899  	}
 32900  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0xc0 == 0x80) {
 32901  		goto __1211
 32902  	}
 32903  	charcount--
 32904  __1211:
 32905  	;
 32906  	goto __1209
 32907  __1210:
 32908  	;
 32909  __1208:
 32910  	;
 32911  	if !(charcount > uint64(0)) {
 32912  		goto __1212
 32913  	}
 32914  
 32915  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32916  		goto __1214
 32917  	}
 32918  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + DLINK_SIZE + 1)
 32919  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32920  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount - uint64(1))
 32921  	next_new_state += 12
 32922  	goto __1215
 32923  __1214:
 32924  	return -43
 32925  __1215:
 32926  	;
 32927  	goto __1213
 32928  __1212:
 32929  
 32930  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32931  		goto __1216
 32932  	}
 32933  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 1
 32934  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32935  	next_active_state += 12
 32936  	goto __1217
 32937  __1216:
 32938  	return -43
 32939  __1217:
 32940  	;
 32941  __1213:
 32942  	;
 32943  	goto __1206
 32944  __1206:
 32945  	rc2 = rc2 - 2
 32946  	goto __1205
 32947  	goto __1207
 32948  __1207:
 32949  	;
 32950  	goto __1204
 32951  __1203:
 32952  	if !(rc2 != -1) {
 32953  		goto __1218
 32954  	}
 32955  	return rc2
 32956  __1218:
 32957  	;
 32958  __1204:
 32959  	;
 32960  
 32961  	goto __89
 32962  
 32963  	//-----------------------------------------------------------------
 32964  __275:
 32965  __276:
 32966  __277:
 32967  __278:
 32968  __279:
 32969  
 32970  	local_ptr = ptr
 32971  	*(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */)) = RWS
 32972  
 32973  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32974  		goto __1219
 32975  	}
 32976  
 32977  	rc3 = more_workspace(tls, bp+72, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32978  	if !(rc3 != 0) {
 32979  		goto __1220
 32980  	}
 32981  	return rc3
 32982  __1220:
 32983  	;
 32984  	RWS = *(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */))
 32985  __1219:
 32986  	;
 32987  
 32988  	local_offsets3 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree)*4
 32989  	local_workspace3 = local_offsets3 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32990  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32991  
 32992  	if !(codevalue == OP_BRAPOSZERO) {
 32993  		goto __1221
 32994  	}
 32995  
 32996  	allow_zero = DTRUE
 32997  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&code, 1)))) // Codevalue will be one of above BRAs
 32998  	goto __1222
 32999  __1221:
 33000  	allow_zero = DFALSE
 33001  __1222:
 33002  	;
 33003  
 33004  	// Loop to match the subpattern as many times as possible as if it were
 33005  	//         a complete pattern.
 33006  
 33007  	matched_count = uint64(0)
 33008  __1223:
 33009  	;
 33010  
 33011  	rc3 = internal_dfa_match(tls,
 33012  		mb,        // fixed match data
 33013  		code,      // this subexpression's code
 33014  		local_ptr, // where we currently are
 33015  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 33016  		local_offsets3, // offset vector
 33017  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 33018  		local_workspace3, // workspace vector
 33019  		DRWS_RSIZE,       // size of same
 33020  		rlevel,           // function recursion level
 33021  		RWS)              // recursion workspace
 33022  
 33023  	// Failed to match
 33024  
 33025  	if !(rc3 < 0) {
 33026  		goto __1226
 33027  	}
 33028  
 33029  	if !(rc3 != -1) {
 33030  		goto __1227
 33031  	}
 33032  	return rc3
 33033  __1227:
 33034  	;
 33035  	goto __1225
 33036  __1226:
 33037  	;
 33038  
 33039  	// Matched: break the loop if zero characters matched.
 33040  
 33041  	charcount1 = *(*Tsize_t)(unsafe.Pointer(local_offsets3 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets3))
 33042  	if !(charcount1 == uint64(0)) {
 33043  		goto __1228
 33044  	}
 33045  	goto __1225
 33046  __1228:
 33047  	;
 33048  	local_ptr += TPCRE2_SPTR8(charcount1) // Advance temporary position ptr
 33049  	goto __1224
 33050  __1224:
 33051  	matched_count++
 33052  	goto __1223
 33053  	goto __1225
 33054  __1225:
 33055  	;
 33056  
 33057  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33058  
 33059  	// At this point we have matched the subpattern matched_count
 33060  	//         times, and local_ptr is pointing to the character after the end of the
 33061  	//         last match.
 33062  
 33063  	if !(matched_count > uint64(0) || allow_zero != 0) {
 33064  		goto __1229
 33065  	}
 33066  
 33067  	end_subpattern = code
 33068  
 33069  __1230:
 33070  	end_subpattern += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 2)))))
 33071  	goto __1231
 33072  __1231:
 33073  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern))) == OP_ALT {
 33074  		goto __1230
 33075  	}
 33076  	goto __1232
 33077  __1232:
 33078  	;
 33079  	next_state_offset1 = int32((int64(end_subpattern)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1))
 33080  
 33081  	// Optimization: if there are no more active states, and there
 33082  	//           are no new states yet set up, then skip over the subject string
 33083  	//           right here, to save looping. Otherwise, set up the new state to swing
 33084  	//           into action when the end of the matched substring is reached.
 33085  
 33086  	if !(i+1 >= active_count && new_count == 0) {
 33087  		goto __1233
 33088  	}
 33089  
 33090  	ptr = local_ptr
 33091  	clen = 0
 33092  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33093  		goto __1235
 33094  	}
 33095  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset1
 33096  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33097  	next_new_state += 12
 33098  	goto __1236
 33099  __1235:
 33100  	return -43
 33101  __1236:
 33102  	;
 33103  	goto __1234
 33104  __1233:
 33105  
 33106  	p1 = ptr
 33107  	pp1 = local_ptr
 33108  	charcount1 = Tsize_t((int64(pp1) - int64(p1)) / 1)
 33109  	if !(utf != 0) {
 33110  		goto __1237
 33111  	}
 33112  __1238:
 33113  	if !(p1 < pp1) {
 33114  		goto __1239
 33115  	}
 33116  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))))&0xc0 == 0x80) {
 33117  		goto __1240
 33118  	}
 33119  	charcount1--
 33120  __1240:
 33121  	;
 33122  	goto __1238
 33123  __1239:
 33124  	;
 33125  __1237:
 33126  	;
 33127  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33128  		goto __1241
 33129  	}
 33130  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset1
 33131  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33132  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount1 - uint64(1))
 33133  	next_new_state += 12
 33134  	goto __1242
 33135  __1241:
 33136  	return -43
 33137  __1242:
 33138  	;
 33139  __1234:
 33140  	;
 33141  __1229:
 33142  	;
 33143  
 33144  	goto __89
 33145  
 33146  	//-----------------------------------------------------------------
 33147  __280:
 33148  
 33149  	*(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */)) = RWS
 33150  
 33151  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 33152  		goto __1243
 33153  	}
 33154  
 33155  	rc4 = more_workspace(tls, bp+80, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 33156  	if !(rc4 != 0) {
 33157  		goto __1244
 33158  	}
 33159  	return rc4
 33160  __1244:
 33161  	;
 33162  	RWS = *(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */))
 33163  __1243:
 33164  	;
 33165  
 33166  	local_offsets4 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree)*4
 33167  	local_workspace4 = local_offsets4 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 33168  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33169  
 33170  	rc4 = internal_dfa_match(tls,
 33171  		mb,   // fixed match data
 33172  		code, // this subexpression's code
 33173  		ptr,  // where we currently are
 33174  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 33175  		local_offsets4, // offset vector
 33176  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 33177  		local_workspace4, // workspace vector
 33178  		DRWS_RSIZE,       // size of same
 33179  		rlevel,           // function recursion level
 33180  		RWS)              // recursion workspace
 33181  
 33182  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33183  
 33184  	if !(rc4 >= 0) {
 33185  		goto __1245
 33186  	}
 33187  
 33188  	end_subpattern1 = code
 33189  	charcount2 = *(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets4))
 33190  
 33191  __1247:
 33192  	end_subpattern1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2)))))
 33193  	goto __1248
 33194  __1248:
 33195  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_ALT {
 33196  		goto __1247
 33197  	}
 33198  	goto __1249
 33199  __1249:
 33200  	;
 33201  	next_state_offset2 = int32((int64(end_subpattern1)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1))
 33202  
 33203  	// If the end of this subpattern is KETRMAX or KETRMIN, we must
 33204  	//           arrange for the repeat state also to be added to the relevant list.
 33205  	//           Calculate the offset, or set -1 for no repeat.
 33206  
 33207  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMAX || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMIN {
 33208  		repeat_state_offset = int32((int64(end_subpattern1)-int64(start_code))/1 - int64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2))))))
 33209  	} else {
 33210  		repeat_state_offset = -1
 33211  	}
 33212  
 33213  	// If we have matched an empty string, add the next state at the
 33214  	//           current character pointer. This is important so that the duplicate
 33215  	//           checking kicks in, which is what breaks infinite loops that match an
 33216  	//           empty string.
 33217  
 33218  	if !(charcount2 == uint64(0)) {
 33219  		goto __1250
 33220  	}
 33221  
 33222  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33223  		goto __1252
 33224  	}
 33225  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset2
 33226  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33227  	next_active_state += 12
 33228  	goto __1253
 33229  __1252:
 33230  	return -43
 33231  __1253:
 33232  	;
 33233  	goto __1251
 33234  __1250:
 33235  	if !(i+1 >= active_count && new_count == 0) {
 33236  		goto __1254
 33237  	}
 33238  
 33239  	ptr += TPCRE2_SPTR8(charcount2)
 33240  	clen = 0
 33241  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33242  		goto __1256
 33243  	}
 33244  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset2
 33245  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33246  	next_new_state += 12
 33247  	goto __1257
 33248  __1256:
 33249  	return -43
 33250  __1257:
 33251  	;
 33252  
 33253  	// If we are adding a repeat state at the new character position,
 33254  	//             we must fudge things so that it is the only current state.
 33255  	//             Otherwise, it might be a duplicate of one we processed before, and
 33256  	//             that would cause it to be skipped.
 33257  
 33258  	if !(repeat_state_offset >= 0) {
 33259  		goto __1258
 33260  	}
 33261  
 33262  	next_active_state = active_states
 33263  	active_count = 0
 33264  	i = -1
 33265  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33266  		goto __1259
 33267  	}
 33268  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = repeat_state_offset
 33269  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33270  	next_active_state += 12
 33271  	goto __1260
 33272  __1259:
 33273  	return -43
 33274  __1260:
 33275  	;
 33276  __1258:
 33277  	;
 33278  	goto __1255
 33279  __1254:
 33280  
 33281  	if !(utf != 0) {
 33282  		goto __1261
 33283  	}
 33284  
 33285  	p2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4)))
 33286  	pp2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8)))
 33287  __1262:
 33288  	if !(p2 < pp2) {
 33289  		goto __1263
 33290  	}
 33291  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p2, 1))))&0xc0 == 0x80) {
 33292  		goto __1264
 33293  	}
 33294  	charcount2--
 33295  __1264:
 33296  	;
 33297  	goto __1262
 33298  __1263:
 33299  	;
 33300  __1261:
 33301  	;
 33302  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33303  		goto __1265
 33304  	}
 33305  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset2
 33306  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33307  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1))
 33308  	next_new_state += 12
 33309  	goto __1266
 33310  __1265:
 33311  	return -43
 33312  __1266:
 33313  	;
 33314  	if !(repeat_state_offset >= 0) {
 33315  		goto __1267
 33316  	}
 33317  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33318  		goto __1268
 33319  	}
 33320  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -repeat_state_offset
 33321  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33322  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1))
 33323  	next_new_state += 12
 33324  	goto __1269
 33325  __1268:
 33326  	return -43
 33327  __1269:
 33328  	;
 33329  __1267:
 33330  	;
 33331  __1255:
 33332  	;
 33333  __1251:
 33334  	;
 33335  	goto __1246
 33336  __1245:
 33337  	if !(rc4 != -1) {
 33338  		goto __1270
 33339  	}
 33340  	return rc4
 33341  __1270:
 33342  	;
 33343  __1246:
 33344  	;
 33345  
 33346  	goto __89
 33347  
 33348  	// ==========================================================================
 33349  	// Handle callouts
 33350  
 33351  __281:
 33352  __282:
 33353  
 33354  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb, uint64(0),
 33355  		bp+88)
 33356  	if !(rrc < 0) {
 33357  		goto __1271
 33358  	}
 33359  	return rrc
 33360  __1271:
 33361  	; // Abandon
 33362  	if !(rrc == 0) {
 33363  		goto __1272
 33364  	}
 33365  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33366  		goto __1273
 33367  	}
 33368  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + int32(*(*Tsize_t)(unsafe.Pointer(bp + 88)))
 33369  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33370  	next_active_state += 12
 33371  	goto __1274
 33372  __1273:
 33373  	return -43
 33374  __1274:
 33375  	;
 33376  __1272:
 33377  	;
 33378  
 33379  	goto __89
 33380  
 33381  	// ==========================================================================
 33382  __283: // Unsupported opcode
 33383  	return -42
 33384  __89:
 33385  	;
 33386  
 33387  NEXT_ACTIVE_STATE:
 33388  	goto __51
 33389  
 33390  	goto __51
 33391  __51:
 33392  	i++
 33393  	goto __50
 33394  	goto __52
 33395  __52:
 33396  	; // End of loop scanning active states
 33397  
 33398  	// We have finished the processing at the current subject character. If no
 33399  	//   new states have been set for the next character, we have found all the
 33400  	//   matches that we are going to find. If partial matching has been requested,
 33401  	//   check for appropriate conditions.
 33402  	//
 33403  	//   The "forced_ fail" variable counts the number of (*F) encountered for the
 33404  	//   character. If it is equal to the original active_count (saved in
 33405  	//   workspace[1]) it means that (*F) was found on every active state. In this
 33406  	//   case we don't want to give a partial match.
 33407  	//
 33408  	//   The "could_continue" variable is true if a state could have continued but
 33409  	//   for the fact that the end of the subject was reached.
 33410  
 33411  	if !(new_count <= 0) {
 33412  		goto __1275
 33413  	}
 33414  
 33415  	if !(could_continue != 0 && forced_fail != *(*int32)(unsafe.Pointer(workspace + 1*4)) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) ||
 33416  		(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) && match_count < 0) && (partial_newline != 0 || ptr >= end_subject && (ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0))) {
 33417  		goto __1276
 33418  	}
 33419  	match_count = -2
 33420  __1276:
 33421  	;
 33422  	goto __37 // Exit from loop along the subject string
 33423  __1275:
 33424  	;
 33425  
 33426  	// One or more states are active for the next character.
 33427  
 33428  	ptr += TPCRE2_SPTR8(clen) // Advance to next subject character
 33429  	goto __36
 33430  __36:
 33431  	goto __35
 33432  	goto __37
 33433  __37:
 33434  	; // Loop to move along the subject string
 33435  
 33436  	// Control gets here from "break" a few lines above. If we have a match and
 33437  	// PCRE2_ENDANCHORED is set, the match fails.
 33438  
 33439  	if !(match_count >= 0 && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0) && ptr < end_subject) {
 33440  		goto __1277
 33441  	}
 33442  	match_count = -1
 33443  __1277:
 33444  	;
 33445  
 33446  	return match_count
 33447  }
 33448  
 33449  // ************************************************
 33450  //
 33451  //     Match a pattern using the DFA algorithm    *
 33452  //
 33453  
 33454  // This function matches a compiled pattern to a subject string, using the
 33455  // alternate matching algorithm that finds all matches at once.
 33456  //
 33457  // Arguments:
 33458  //   code          points to the compiled pattern
 33459  //   subject       subject string
 33460  //   length        length of subject string
 33461  //   startoffset   where to start matching in the subject
 33462  //   options       option bits
 33463  //   match_data    points to a match data structure
 33464  //   gcontext      points to a match context
 33465  //   workspace     pointer to workspace
 33466  //   wscount       size of workspace
 33467  //
 33468  // Returns:        > 0 => number of match offset pairs placed in offsets
 33469  //                 = 0 => offsets overflowed; longest matches are present
 33470  //                  -1 => failed to match
 33471  //                < -1 => some kind of unexpected problem
 33472  
 33473  func Xpcre2_dfa_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, workspace uintptr, wscount Tsize_t) int32 { /* pcre2_dfa_match.c:3297:1: */
 33474  	bp := tls.Alloc(31000)
 33475  	defer tls.Free(31000)
 33476  
 33477  	var rc int32
 33478  	var was_zero_terminated int32
 33479  	var re uintptr
 33480  	var start_match TPCRE2_SPTR8
 33481  	var end_subject TPCRE2_SPTR8
 33482  	var bumpalong_limit TPCRE2_SPTR8
 33483  	var req_cu_ptr TPCRE2_SPTR8
 33484  	var utf TBOOL
 33485  	var anchored TBOOL
 33486  	var startline TBOOL
 33487  	var firstline TBOOL
 33488  	var has_first_cu TBOOL
 33489  	var has_req_cu TBOOL
 33490  	var memchr_found_first_cu TPCRE2_SPTR8
 33491  	var memchr_found_first_cu2 TPCRE2_SPTR8
 33492  	var first_cu TPCRE2_UCHAR8
 33493  	var first_cu2 TPCRE2_UCHAR8
 33494  	var req_cu TPCRE2_UCHAR8
 33495  	var req_cu2 TPCRE2_UCHAR8
 33496  	var start_bits uintptr
 33497  
 33498  	// We need to have mb pointing to a match block, because the IS_NEWLINE macro
 33499  	// is used below, and it expects NLBLOCK to be defined as a pointer.
 33500  
 33501  	// var cb Tpcre2_callout_block_8 at bp+30888, 112
 33502  
 33503  	// var actual_match_block Tdfa_match_block_8 at bp, 168
 33504  
 33505  	var mb uintptr
 33506  
 33507  	// Set up a starting block of memory for use during recursive calls to
 33508  	// internal_dfa_match(). By putting this on the stack, it minimizes resource use
 33509  	// in the case when it is not needed. If this is too small, more memory is
 33510  	// obtained from the heap. At the start of each block is an anchor structure.
 33511  
 33512  	// var base_recursion_workspace [7680]int32 at bp+168, 30720
 33513  
 33514  	var rws uintptr
 33515  	var i uint32
 33516  	var check_subject TPCRE2_SPTR8
 33517  	var t TPCRE2_SPTR8
 33518  	var c TPCRE2_UCHAR8
 33519  	var ok TBOOL
 33520  	// In 16-bit and 32_bit modes we have to do our own search, so can
 33521  	//           look for both cases at once.
 33522  
 33523  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 33524  	//           though we have to call it twice in order to find the earliest
 33525  	//           occurrence of the code unit in either of its cases. Caching is used
 33526  	//           to remember the positions of previously found code units. This can
 33527  	//           make a huge difference when the strings are very long and only one
 33528  	//           case is actually present.
 33529  
 33530  	var pp1 TPCRE2_SPTR8
 33531  	var pp2 TPCRE2_SPTR8
 33532  	var searchlength Tsize_t
 33533  	var c1 Tuint32_t
 33534  	var pp TPCRE2_SPTR8
 33535  	var check_length Tsize_t
 33536  	var p TPCRE2_SPTR8
 33537  	var next uintptr
 33538  	was_zero_terminated = 0
 33539  	re = code
 33540  	has_first_cu = DFALSE
 33541  	has_req_cu = DFALSE
 33542  	memchr_found_first_cu = uintptr(0)
 33543  	memchr_found_first_cu2 = uintptr(0)
 33544  	first_cu = TPCRE2_UCHAR8(0)
 33545  	first_cu2 = TPCRE2_UCHAR8(0)
 33546  	req_cu = TPCRE2_UCHAR8(0)
 33547  	req_cu2 = TPCRE2_UCHAR8(0)
 33548  	start_bits = uintptr(0)
 33549  	mb = bp        /* &actual_match_block */
 33550  	rws = bp + 168 /* base_recursion_workspace */
 33551  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = uintptr(0)
 33552  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fsize = uint32(uint64(DDFA_START_RWS_SIZE) / uint64(unsafe.Sizeof(int32(0))))
 33553  	(*TRWS_anchor)(unsafe.Pointer(rws)).Ffree = uint32(uint64(DDFA_START_RWS_SIZE)/uint64(unsafe.Sizeof(int32(0))) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))))
 33554  
 33555  	// Recognize NULL, length 0 as an empty string.
 33556  
 33557  	if !(subject == uintptr(0) && length == uint64(0)) {
 33558  		goto __1
 33559  	}
 33560  	subject = ts + 797 /* "" */
 33561  __1:
 33562  	;
 33563  
 33564  	// Plausibility checks
 33565  
 33566  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_DFA_SHORTEST|DPCRE2_DFA_RESTART|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) {
 33567  		goto __2
 33568  	}
 33569  	return -34
 33570  __2:
 33571  	;
 33572  	if !(re == uintptr(0) || subject == uintptr(0) || workspace == uintptr(0) || match_data == uintptr(0)) {
 33573  		goto __3
 33574  	}
 33575  	return -51
 33576  __3:
 33577  	;
 33578  
 33579  	if !(length == libc.CplUint64(uint64(0))) {
 33580  		goto __4
 33581  	}
 33582  
 33583  	length = X_pcre2_strlen_8(tls, subject)
 33584  	was_zero_terminated = 1
 33585  __4:
 33586  	;
 33587  
 33588  	if !(wscount < uint64(20)) {
 33589  		goto __5
 33590  	}
 33591  	return -43
 33592  __5:
 33593  	;
 33594  	if !(start_offset > length) {
 33595  		goto __6
 33596  	}
 33597  	return -33
 33598  __6:
 33599  	;
 33600  
 33601  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 33602  	// time.
 33603  
 33604  	if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 33605  		goto __7
 33606  	}
 33607  	return -34
 33608  __7:
 33609  	;
 33610  
 33611  	// Invalid UTF support is not available for DFA matching.
 33612  
 33613  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 33614  		goto __8
 33615  	}
 33616  	return -66
 33617  __8:
 33618  	;
 33619  
 33620  	// Check that the first field in the block is the magic number. If it is not,
 33621  	// return with PCRE2_ERROR_BADMAGIC.
 33622  
 33623  	if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 33624  		goto __9
 33625  	}
 33626  	return -31
 33627  __9:
 33628  	;
 33629  
 33630  	// Check the code unit width.
 33631  
 33632  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 33633  		goto __10
 33634  	}
 33635  	return -32
 33636  __10:
 33637  	;
 33638  
 33639  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 33640  	// options variable for this function. Users of PCRE2 who are not calling the
 33641  	// function directly would like to have a way of setting these flags, in the same
 33642  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 33643  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 33644  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which can now be
 33645  	// transferred to the options for this function. The bits are guaranteed to be
 33646  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 33647  	// that the match-time bits are not more significant than the flag bits. If by
 33648  	// accident this is not the case, a compile-time division by zero error will
 33649  	// occur.
 33650  
 33651  	options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1))))
 33652  
 33653  	// If restarting after a partial match, do some sanity checks on the contents
 33654  	// of the workspace.
 33655  
 33656  	if !(options&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 33657  		goto __11
 33658  	}
 33659  
 33660  	if !(*(*int32)(unsafe.Pointer(workspace))&-2 != 0 || *(*int32)(unsafe.Pointer(workspace + 1*4)) < 1 || *(*int32)(unsafe.Pointer(workspace + 1*4)) > int32((wscount-uint64(2))/Tsize_t(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))))) {
 33661  		goto __12
 33662  	}
 33663  	return -38
 33664  __12:
 33665  	;
 33666  __11:
 33667  	;
 33668  
 33669  	// Set some local values
 33670  
 33671  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 33672  	start_match = subject + uintptr(start_offset)
 33673  	end_subject = subject + uintptr(length)
 33674  	req_cu_ptr = start_match - uintptr(1)
 33675  	anchored = libc.Bool32(options&(DPCRE2_ANCHORED|DPCRE2_DFA_RESTART) != Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED != Tuint32_t(0))
 33676  
 33677  	// The "must be at the start of a line" flags are used in a loop when finding
 33678  	// where to start.
 33679  
 33680  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 33681  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 33682  	bumpalong_limit = end_subject
 33683  
 33684  	// Initialize and set up the fixed fields in the callout block, with a pointer
 33685  	// in the match block.
 33686  
 33687  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb = bp + 30888 /* &cb */
 33688  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fversion = Tuint32_t(2)
 33689  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject = subject
 33690  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 33691  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 33692  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_top = Tuint32_t(1) // No capture support
 33693  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_last = Tuint32_t(0)
 33694  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fmark = uintptr(0) // No (*MARK) support
 33695  
 33696  	// Get data from the match context, if present, and fill in the remaining
 33697  	// fields in the match block. It is an error to set an offset limit without
 33698  	// setting the flag at compile time.
 33699  
 33700  	if !(mcontext == uintptr(0)) {
 33701  		goto __13
 33702  	}
 33703  
 33704  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = uintptr(0)
 33705  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 33706  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = X_pcre2_default_match_context_8.Fmatch_limit
 33707  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = X_pcre2_default_match_context_8.Fdepth_limit
 33708  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t(X_pcre2_default_match_context_8.Fheap_limit)
 33709  	goto __14
 33710  __13:
 33711  
 33712  	if !((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0))) {
 33713  		goto __15
 33714  	}
 33715  
 33716  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 33717  		goto __16
 33718  	}
 33719  	return -56
 33720  __16:
 33721  	;
 33722  	bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 33723  __15:
 33724  	;
 33725  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 33726  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 33727  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 33728  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 33729  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 33730  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 33731  __14:
 33732  	;
 33733  
 33734  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match) {
 33735  		goto __17
 33736  	}
 33737  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 33738  __17:
 33739  	;
 33740  
 33741  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth) {
 33742  		goto __18
 33743  	}
 33744  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 33745  __18:
 33746  	;
 33747  
 33748  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit > Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)) {
 33749  		goto __19
 33750  	}
 33751  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 33752  __19:
 33753  	;
 33754  
 33755  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 33756  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 33757  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 33758  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 33759  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 33760  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0))
 33761  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions = options
 33762  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 33763  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 33764  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used = uint64(0)
 33765  
 33766  	// Process the \R and newline settings.
 33767  
 33768  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 33769  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 33770  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 33771  	case DPCRE2_NEWLINE_CR:
 33772  		goto __21
 33773  
 33774  	case DPCRE2_NEWLINE_LF:
 33775  		goto __22
 33776  
 33777  	case DPCRE2_NEWLINE_NUL:
 33778  		goto __23
 33779  
 33780  	case DPCRE2_NEWLINE_CRLF:
 33781  		goto __24
 33782  
 33783  	case DPCRE2_NEWLINE_ANY:
 33784  		goto __25
 33785  
 33786  	case DPCRE2_NEWLINE_ANYCRLF:
 33787  		goto __26
 33788  
 33789  	default:
 33790  		goto __27
 33791  	}
 33792  	goto __20
 33793  
 33794  __21:
 33795  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33796  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015')
 33797  	goto __20
 33798  
 33799  __22:
 33800  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33801  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\012')
 33802  	goto __20
 33803  
 33804  __23:
 33805  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33806  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8(0)
 33807  	goto __20
 33808  
 33809  __24:
 33810  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 33811  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015')
 33812  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)) = TPCRE2_UCHAR8('\012')
 33813  	goto __20
 33814  
 33815  __25:
 33816  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 33817  	goto __20
 33818  
 33819  __26:
 33820  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 33821  	goto __20
 33822  
 33823  __27:
 33824  	return -44
 33825  __20:
 33826  	;
 33827  
 33828  	// Check a UTF string for validity if required. For 8-bit and 16-bit strings,
 33829  	// we must also check that a starting offset does not point into the middle of a
 33830  	// multiunit character. We check only the portion of the subject that is going to
 33831  	// be inspected during matching - from the offset minus the maximum back reference
 33832  	// to the given length. This saves time when a small part of a large subject is
 33833  	// being matched by the use of a starting offset. Note that the maximum lookbehind
 33834  	// is a number of characters, not code units.
 33835  
 33836  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 33837  		goto __28
 33838  	}
 33839  
 33840  	check_subject = start_match // start_match includes offset
 33841  
 33842  	if !(start_offset > uint64(0)) {
 33843  		goto __29
 33844  	}
 33845  
 33846  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 33847  		goto __30
 33848  	}
 33849  	return -36
 33850  __30:
 33851  	;
 33852  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 33853  __31:
 33854  	if !(i > uint32(0) && check_subject > subject) {
 33855  		goto __33
 33856  	}
 33857  
 33858  	check_subject--
 33859  __34:
 33860  	if !(check_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(check_subject)))&0xc0 == 0x80) {
 33861  		goto __35
 33862  	}
 33863  	check_subject--
 33864  	goto __34
 33865  __35:
 33866  	;
 33867  	goto __32
 33868  __32:
 33869  	i--
 33870  	goto __31
 33871  	goto __33
 33872  __33:
 33873  	;
 33874  __29:
 33875  	;
 33876  
 33877  	// Validate the relevant portion of the subject. After an error, adjust the
 33878  	//   offset to be an absolute offset in the whole string.
 33879  
 33880  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, check_subject,
 33881  		length-Tsize_t((int64(check_subject)-int64(subject))/1), match_data+64)
 33882  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc != 0) {
 33883  		goto __36
 33884  	}
 33885  
 33886  	*(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64(check_subject) - int64(subject)) / 1)
 33887  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 33888  __36:
 33889  	;
 33890  __28:
 33891  	;
 33892  
 33893  	// Set up the first code unit to match, if available. If there's no first code
 33894  	// unit there may be a bitmap of possible first characters.
 33895  
 33896  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 33897  		goto __37
 33898  	}
 33899  
 33900  	has_first_cu = DTRUE
 33901  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 33902  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 33903  		goto __39
 33904  	}
 33905  
 33906  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(first_cu)))
 33907  	if !(int32(first_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33908  		goto __40
 33909  	}
 33910  	first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 33911  __40:
 33912  	;
 33913  __39:
 33914  	;
 33915  	goto __38
 33916  __37:
 33917  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 33918  		goto __41
 33919  	}
 33920  	start_bits = re + 40 /* &.start_bitmap */
 33921  __41:
 33922  	;
 33923  __38:
 33924  	;
 33925  
 33926  	// There may be a "last known required code unit" set.
 33927  
 33928  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 33929  		goto __42
 33930  	}
 33931  
 33932  	has_req_cu = DTRUE
 33933  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 33934  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 33935  		goto __43
 33936  	}
 33937  
 33938  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(req_cu)))
 33939  	if !(int32(req_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33940  		goto __44
 33941  	}
 33942  	req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 33943  __44:
 33944  	;
 33945  __43:
 33946  	;
 33947  __42:
 33948  	;
 33949  
 33950  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 33951  	// free the memory that was obtained.
 33952  
 33953  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 33954  		goto __45
 33955  	}
 33956  
 33957  	(*struct {
 33958  		f func(*libc.TLS, uintptr, uintptr)
 33959  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 33960  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 33961  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 33962  __45:
 33963  	;
 33964  
 33965  	// Fill in fields that are always returned in the match data.
 33966  
 33967  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 33968  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0) // Default for no match
 33969  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = uintptr(0)
 33970  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_DFA_INTERPRETER
 33971  
 33972  	// Call the main matching function, looping for a non-anchored regex after a
 33973  	// failed match. If not restarting, perform certain optimizations at the start of
 33974  	// a match.
 33975  
 33976  __46:
 33977  
 33978  	// ----------------- Start of match optimizations ----------------
 33979  
 33980  	// There are some optimizations that avoid running the match if a known
 33981  	//   starting point is not found, or if a known later code unit is not present.
 33982  	//   However, there is an option (settable at compile time) that disables
 33983  	//   these, for testing and for ensuring that all callouts do actually occur.
 33984  	//   The optimizations must also be avoided when restarting a DFA match.
 33985  
 33986  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0) && options&DPCRE2_DFA_RESTART == Tuint32_t(0)) {
 33987  		goto __49
 33988  	}
 33989  
 33990  	// If firstline is TRUE, the start of the match is constrained to the first
 33991  	//     line of a multiline string. That is, the match must be before or at the
 33992  	//     first newline following the start of matching. Temporarily adjust
 33993  	//     end_subject so that we stop the optimization scans for a first code unit
 33994  	//     immediately after the first character of a newline (the first code unit can
 33995  	//     legitimately be a newline). If the match fails at the newline, later code
 33996  	//     breaks this loop.
 33997  
 33998  	if !(firstline != 0) {
 33999  		goto __50
 34000  	}
 34001  
 34002  	t = start_match
 34003  	if !(utf != 0) {
 34004  		goto __51
 34005  	}
 34006  
 34007  __53:
 34008  	if !(t < end_subject && !(func() int32 {
 34009  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34010  			return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34011  		}
 34012  		return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34013  	}() != 0)) {
 34014  		goto __54
 34015  	}
 34016  
 34017  	t++
 34018  __55:
 34019  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 34020  		goto __56
 34021  	}
 34022  	t++
 34023  	goto __55
 34024  __56:
 34025  	;
 34026  	goto __53
 34027  __54:
 34028  	;
 34029  	goto __52
 34030  __51:
 34031  __57:
 34032  	if !(t < end_subject && !(func() int32 {
 34033  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34034  			return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34035  		}
 34036  		return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34037  	}() != 0)) {
 34038  		goto __58
 34039  	}
 34040  	t++
 34041  	goto __57
 34042  __58:
 34043  	;
 34044  __52:
 34045  	;
 34046  	end_subject = t
 34047  __50:
 34048  	;
 34049  
 34050  	// Anchored: check the first code unit if one is recorded. This may seem
 34051  	//     pointless but it can help in detecting a no match case without scanning for
 34052  	//     the required code unit.
 34053  
 34054  	if !(anchored != 0) {
 34055  		goto __59
 34056  	}
 34057  
 34058  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 34059  		goto __61
 34060  	}
 34061  
 34062  	ok = libc.Bool32(start_match < end_subject)
 34063  	if !(ok != 0) {
 34064  		goto __62
 34065  	}
 34066  
 34067  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 34068  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 34069  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 34070  		goto __63
 34071  	}
 34072  
 34073  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 34074  __63:
 34075  	;
 34076  __62:
 34077  	;
 34078  	if !!(ok != 0) {
 34079  		goto __64
 34080  	}
 34081  	goto __48
 34082  __64:
 34083  	;
 34084  __61:
 34085  	;
 34086  	goto __60
 34087  __59:
 34088  
 34089  	if !(has_first_cu != 0) {
 34090  		goto __65
 34091  	}
 34092  
 34093  	if !(int32(first_cu) != int32(first_cu2)) {
 34094  		goto __67
 34095  	} /* Caseless */
 34096  
 34097  	// In 16-bit and 32_bit modes we have to do our own search, so can
 34098  	//           look for both cases at once.
 34099  
 34100  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 34101  	//           though we have to call it twice in order to find the earliest
 34102  	//           occurrence of the code unit in either of its cases. Caching is used
 34103  	//           to remember the positions of previously found code units. This can
 34104  	//           make a huge difference when the strings are very long and only one
 34105  	//           case is actually present.
 34106  
 34107  	pp1 = uintptr(0)
 34108  	pp2 = uintptr(0)
 34109  	searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 34110  
 34111  	// If we haven't got a previously found position for first_cu, or if
 34112  	//           the current starting position is later, we need to do a search. If
 34113  	//           the code unit is not found, set it to the end.
 34114  
 34115  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 34116  		goto __69
 34117  	}
 34118  
 34119  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 34120  	if pp1 == uintptr(0) {
 34121  		memchr_found_first_cu = end_subject
 34122  	} else {
 34123  		memchr_found_first_cu = pp1
 34124  	}
 34125  	goto __70
 34126  __69:
 34127  	if memchr_found_first_cu == end_subject {
 34128  		pp1 = uintptr(0)
 34129  	} else {
 34130  		pp1 = memchr_found_first_cu
 34131  	}
 34132  __70:
 34133  	;
 34134  
 34135  	// Do the same thing for the other case.
 34136  
 34137  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 34138  		goto __71
 34139  	}
 34140  
 34141  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 34142  	if pp2 == uintptr(0) {
 34143  		memchr_found_first_cu2 = end_subject
 34144  	} else {
 34145  		memchr_found_first_cu2 = pp2
 34146  	}
 34147  	goto __72
 34148  __71:
 34149  	if memchr_found_first_cu2 == end_subject {
 34150  		pp2 = uintptr(0)
 34151  	} else {
 34152  		pp2 = memchr_found_first_cu2
 34153  	}
 34154  __72:
 34155  	;
 34156  
 34157  	// Set the start to the end of the subject if neither case was found.
 34158  	//           Otherwise, use the earlier found point.
 34159  
 34160  	if !(pp1 == uintptr(0)) {
 34161  		goto __73
 34162  	}
 34163  	if pp2 == uintptr(0) {
 34164  		start_match = end_subject
 34165  	} else {
 34166  		start_match = pp2
 34167  	}
 34168  	goto __74
 34169  __73:
 34170  	if pp2 == uintptr(0) || pp1 < pp2 {
 34171  		start_match = pp1
 34172  	} else {
 34173  		start_match = pp2
 34174  	}
 34175  __74:
 34176  	;
 34177  
 34178  	goto __68
 34179  __67:
 34180  
 34181  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1))
 34182  	if !(start_match == uintptr(0)) {
 34183  		goto __75
 34184  	}
 34185  	start_match = end_subject
 34186  __75:
 34187  	;
 34188  __68:
 34189  	;
 34190  
 34191  	// If we can't find the required code unit, having reached the true end
 34192  	//         of the subject, break the bumpalong loop, to force a match failure,
 34193  	//         except when doing partial matching, when we let the next cycle run at
 34194  	//         the end of the subject. To see why, consider the pattern /(?<=abc)def/,
 34195  	//         which partially matches "abc", even though the string does not contain
 34196  	//         the starting character "d". If we have not reached the true end of the
 34197  	//         subject (PCRE2_FIRSTLINE caused end_subject to be temporarily modified)
 34198  	//         we also let the cycle run, because the matching string is legitimately
 34199  	//         allowed to start with the first code unit of a newline.
 34200  
 34201  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 34202  		goto __76
 34203  	}
 34204  	goto __48
 34205  __76:
 34206  	;
 34207  	goto __66
 34208  __65:
 34209  	if !(startline != 0) {
 34210  		goto __77
 34211  	}
 34212  
 34213  	if !(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 34214  		goto __79
 34215  	}
 34216  
 34217  	if !(utf != 0) {
 34218  		goto __80
 34219  	}
 34220  
 34221  __82:
 34222  	if !(start_match < end_subject && !(func() int32 {
 34223  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34224  			return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 34225  		}
 34226  		return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34227  	}() != 0)) {
 34228  		goto __83
 34229  	}
 34230  
 34231  	start_match++
 34232  __84:
 34233  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34234  		goto __85
 34235  	}
 34236  	start_match++
 34237  	goto __84
 34238  __85:
 34239  	;
 34240  	goto __82
 34241  __83:
 34242  	;
 34243  	goto __81
 34244  __80:
 34245  __86:
 34246  	if !(start_match < end_subject && !(func() int32 {
 34247  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34248  			return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 34249  		}
 34250  		return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34251  	}() != 0)) {
 34252  		goto __87
 34253  	}
 34254  	start_match++
 34255  	goto __86
 34256  __87:
 34257  	;
 34258  __81:
 34259  	;
 34260  
 34261  	// If we have just passed a CR and the newline option is ANY or
 34262  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 34263  	//           more code unit.
 34264  
 34265  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') {
 34266  		goto __88
 34267  	}
 34268  	start_match++
 34269  __88:
 34270  	;
 34271  __79:
 34272  	;
 34273  	goto __78
 34274  __77:
 34275  	if !(start_bits != uintptr(0)) {
 34276  		goto __89
 34277  	}
 34278  
 34279  __90:
 34280  	if !(start_match < end_subject) {
 34281  		goto __91
 34282  	}
 34283  
 34284  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 34285  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 34286  		goto __92
 34287  	}
 34288  	goto __91
 34289  __92:
 34290  	;
 34291  	start_match++
 34292  	goto __90
 34293  __91:
 34294  	;
 34295  
 34296  	// See comment above in first_cu checking about the next line.
 34297  
 34298  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 34299  		goto __93
 34300  	}
 34301  	goto __48
 34302  __93:
 34303  	;
 34304  __89:
 34305  	;
 34306  __78:
 34307  	;
 34308  __66:
 34309  	;
 34310  __60:
 34311  	; // End of first code unit handling
 34312  
 34313  	// Restore fudged end_subject
 34314  
 34315  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 34316  
 34317  	// The following two optimizations are disabled for partial matching.
 34318  
 34319  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0)) {
 34320  		goto __94
 34321  	}
 34322  
 34323  	// The minimum matching length is a lower bound; no actual string of that
 34324  	//       length may actually match the pattern. Although the value is, strictly,
 34325  	//       in characters, we treat it as code units to avoid spending too much time
 34326  	//       in this optimization.
 34327  
 34328  	if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 34329  		goto __95
 34330  	}
 34331  	goto NOMATCH_EXIT
 34332  __95:
 34333  	;
 34334  
 34335  	// If req_cu is set, we know that that code unit must appear in the
 34336  	//       subject for the match to succeed. If the first code unit is set, req_cu
 34337  	//       must be later in the subject; otherwise the test starts at the match
 34338  	//       point. This optimization can save a huge amount of backtracking in
 34339  	//       patterns with nested unlimited repeats that aren't going to match.
 34340  	//       Writing separate code for cased/caseless versions makes it go faster, as
 34341  	//       does using an autoincrement and backing off on a match. As in the case of
 34342  	//       the first code unit, using memchr() in the 8-bit library gives a big
 34343  	//       speed up. Unlike the first_cu check above, we do not need to call
 34344  	//       memchr() twice in the caseless case because we only need to check for the
 34345  	//       presence of the character in either case, not find the first occurrence.
 34346  	//
 34347  	//       The search can be skipped if the code unit was found later than the
 34348  	//       current starting point in a previous iteration of the bumpalong loop.
 34349  	//
 34350  	//       HOWEVER: when the subject string is very, very long, searching to its end
 34351  	//       can take a long time, and give bad performance on quite ordinary
 34352  	//       patterns. This showed up when somebody was matching something like
 34353  	//       /^\d+C/ on a 32-megabyte string... so we don't do this when the string is
 34354  	//       sufficiently long, but it's worth searching a lot more for unanchored
 34355  	//       patterns.
 34356  
 34357  	p = start_match + uintptr(func() int32 {
 34358  		if has_first_cu != 0 {
 34359  			return 1
 34360  		}
 34361  		return 0
 34362  	}())
 34363  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 34364  		goto __96
 34365  	}
 34366  
 34367  	check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 34368  
 34369  	if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) {
 34370  		goto __97
 34371  	}
 34372  
 34373  	if !(int32(req_cu) != int32(req_cu2)) {
 34374  		goto __98
 34375  	} /* Caseless */
 34376  
 34377  	pp = p
 34378  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1))
 34379  	if !(p == uintptr(0)) {
 34380  		goto __100
 34381  	}
 34382  
 34383  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1))
 34384  	if !(p == uintptr(0)) {
 34385  		goto __101
 34386  	}
 34387  	p = end_subject
 34388  __101:
 34389  	;
 34390  __100:
 34391  	;
 34392  	goto __99
 34393  __98:
 34394  
 34395  	p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1))
 34396  	if !(p == uintptr(0)) {
 34397  		goto __102
 34398  	}
 34399  	p = end_subject
 34400  __102:
 34401  	;
 34402  __99:
 34403  	;
 34404  
 34405  	// If we can't find the required code unit, break the matching loop,
 34406  	//           forcing a match failure.
 34407  
 34408  	if !(p >= end_subject) {
 34409  		goto __103
 34410  	}
 34411  	goto __48
 34412  __103:
 34413  	;
 34414  
 34415  	// If we have found the required code unit, save the point where we
 34416  	//           found it, so that we don't search again next time round the loop if
 34417  	//           the start hasn't passed this code unit yet.
 34418  
 34419  	req_cu_ptr = p
 34420  __97:
 34421  	;
 34422  __96:
 34423  	;
 34424  __94:
 34425  	;
 34426  __49:
 34427  	;
 34428  
 34429  	// ------------ End of start of match optimizations ------------
 34430  
 34431  	// Give no match if we have passed the bumpalong limit.
 34432  
 34433  	if !(start_match > bumpalong_limit) {
 34434  		goto __104
 34435  	}
 34436  	goto __48
 34437  __104:
 34438  	;
 34439  
 34440  	// OK, now we can do the business
 34441  
 34442  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 34443  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 34444  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = uintptr(0)
 34445  
 34446  	rc = internal_dfa_match(tls,
 34447  		mb, // fixed match data
 34448  		(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code, // this subexpression's code
 34449  		start_match,  // where we currently are
 34450  		start_offset, // start offset in subject
 34451  		match_data+80,
 34452  		Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)*Tuint32_t(2),
 34453  		workspace,      // workspace vector
 34454  		int32(wscount), // size of same
 34455  		uint32(0),      // function recurse level
 34456  		bp+168)         // initial workspace for recursion
 34457  
 34458  	// Anything other than "no match" means we are done, always; otherwise, carry
 34459  	//   on only if not anchored.
 34460  
 34461  	if !(rc != -1 || anchored != 0) {
 34462  		goto __105
 34463  	}
 34464  
 34465  	if !(rc == -2 && int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) > 0) {
 34466  		goto __106
 34467  	}
 34468  
 34469  	*(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(start_match) - int64(subject)) / 1)
 34470  	*(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 34471  __106:
 34472  	;
 34473  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1)
 34474  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) - int64(subject)) / 1)
 34475  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1)
 34476  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 34477  
 34478  	if !(rc >= 0 && options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 34479  		goto __107
 34480  	}
 34481  
 34482  	length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 34483  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 34484  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 34485  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 34486  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 34487  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 34488  		goto __109
 34489  	}
 34490  	return -48
 34491  __109:
 34492  	;
 34493  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 34494  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 34495  	goto __108
 34496  __107:
 34497  
 34498  	if !(rc >= 0 || rc == -2) {
 34499  		goto __110
 34500  	}
 34501  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 34502  __110:
 34503  	;
 34504  __108:
 34505  	;
 34506  	goto EXIT
 34507  __105:
 34508  	;
 34509  
 34510  	// Advance to the next subject character unless we are at the end of a line
 34511  	//   and firstline is set.
 34512  
 34513  	if !(firstline != 0 && func() int32 {
 34514  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34515  			return libc.Bool32(start_match < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34516  		}
 34517  		return libc.Bool32(start_match <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34518  	}() != 0) {
 34519  		goto __111
 34520  	}
 34521  	goto __48
 34522  __111:
 34523  	;
 34524  	start_match++
 34525  	if !(utf != 0) {
 34526  		goto __112
 34527  	}
 34528  
 34529  __113:
 34530  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34531  		goto __114
 34532  	}
 34533  	start_match++
 34534  	goto __113
 34535  __114:
 34536  	;
 34537  __112:
 34538  	;
 34539  	if !(start_match > end_subject) {
 34540  		goto __115
 34541  	}
 34542  	goto __48
 34543  __115:
 34544  	;
 34545  
 34546  	// If we have just passed a CR and we are now at a LF, and the pattern does
 34547  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 34548  	//   or ANY or ANYCRLF, advance the match position by one more character.
 34549  
 34550  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr(1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) {
 34551  		goto __116
 34552  	}
 34553  	start_match++
 34554  __116:
 34555  	;
 34556  
 34557  	goto __47
 34558  __47:
 34559  	goto __46
 34560  	goto __48
 34561  __48:
 34562  	; // "Bumpalong" loop
 34563  
 34564  NOMATCH_EXIT:
 34565  	rc = -1
 34566  
 34567  EXIT:
 34568  __117:
 34569  	if !((*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0)) {
 34570  		goto __118
 34571  	}
 34572  
 34573  	next = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 34574  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = (*TRWS_anchor)(unsafe.Pointer(next)).Fnext
 34575  	(*struct {
 34576  		f func(*libc.TLS, uintptr, uintptr)
 34577  	})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, next, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 34578  	goto __117
 34579  __118:
 34580  	;
 34581  
 34582  	return rc
 34583  }
 34584  
 34585  // End of pcre2_dfa_match.c
 34586  
 34587  // This function is needed only when memmove() is not available.
 34588  
 34589  // End of pcre2_internal.h
 34590  
 34591  // The texts of compile-time error messages. Compile-time error numbers start
 34592  // at COMPILE_ERROR_BASE (100).
 34593  //
 34594  // This used to be a table of strings, but in order to reduce the number of
 34595  // relocations needed when a shared library is loaded dynamically, it is now one
 34596  // long string. We cannot use a table of offsets, because the lengths of inserts
 34597  // such as XSTRING(MAX_NAME_SIZE) are not known. Instead,
 34598  // pcre2_get_error_message() counts through to the one it wants - this isn't a
 34599  // performance issue because these strings are used only when there is an error.
 34600  //
 34601  // Each substring ends with \0 to insert a null character. This includes the final
 34602  // substring, so that the whole string ends with \0\0, which can be detected when
 34603  // counting through.
 34604  
 34605  var compile_error_texts =
 34606  
 34607  // 5
 34608  
 34609  // 10
 34610  
 34611  // 15
 34612  
 34613  // 20
 34614  
 34615  // 25
 34616  
 34617  // 30
 34618  
 34619  // 35
 34620  
 34621  // 40
 34622  
 34623  // 45
 34624  
 34625  // 50
 34626  
 34627  // 55
 34628  
 34629  // "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)\0"
 34630  // Was the above
 34631  // 60
 34632  
 34633  // 65
 34634  
 34635  // 70
 34636  
 34637  // 75
 34638  
 34639  // 80
 34640  
 34641  // 85
 34642  
 34643  // 90
 34644  
 34645  // 95
 34646  
 34647  *(*[4381]uint8)(unsafe.Pointer(ts + 798)) /* pcre2_error.c:65:28 */
 34648  
 34649  // Match-time and UTF error texts are in the same format.
 34650  
 34651  var match_error_texts =
 34652  
 34653  // 5
 34654  
 34655  // 10
 34656  
 34657  // 15
 34658  
 34659  // 20
 34660  
 34661  // 25
 34662  
 34663  // 30
 34664  
 34665  // 35
 34666  
 34667  // Never returned by PCRE2 itself
 34668  
 34669  // 40
 34670  
 34671  // 45
 34672  
 34673  // 50
 34674  
 34675  // 55
 34676  
 34677  // 60
 34678  
 34679  // 65
 34680  
 34681  *(*[2476]uint8)(unsafe.Pointer(ts + 5179)) /* pcre2_error.c:194:28 */
 34682  
 34683  // ************************************************
 34684  //
 34685  //            Return error message                *
 34686  //
 34687  
 34688  // This function copies an error message into a buffer whose units are of an
 34689  // appropriate width. Error numbers are positive for compile-time errors, and
 34690  // negative for match-time errors (except for UTF errors), but the numbers are all
 34691  // distinct.
 34692  //
 34693  // Arguments:
 34694  //   enumber       error number
 34695  //   buffer        where to put the message (zero terminated)
 34696  //   size          size of the buffer in code units
 34697  //
 34698  // Returns:        length of message if all is well
 34699  //                 negative on error
 34700  
 34701  func Xpcre2_get_error_message_8(tls *libc.TLS, enumber int32, buffer uintptr, size Tsize_t) int32 { /* pcre2_error.c:297:1: */
 34702  	var message uintptr
 34703  	var i Tsize_t
 34704  	var n int32
 34705  
 34706  	if size == uint64(0) {
 34707  		return -48
 34708  	}
 34709  
 34710  	if enumber >= DCOMPILE_ERROR_BASE {
 34711  		message = uintptr(unsafe.Pointer(&compile_error_texts))
 34712  		n = enumber - DCOMPILE_ERROR_BASE
 34713  	} else if enumber < 0 {
 34714  		message = uintptr(unsafe.Pointer(&match_error_texts))
 34715  		n = -enumber
 34716  	} else {
 34717  		message = ts + 7655 /* "\x00" */ // Empty message list
 34718  		n = 1
 34719  	}
 34720  
 34721  	for ; n > 0; n-- {
 34722  		for int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))) != 0 {
 34723  		}
 34724  
 34725  		if int32(*(*uint8)(unsafe.Pointer(message))) == 0 {
 34726  			return -29
 34727  		}
 34728  	}
 34729  
 34730  	for i = uint64(0); int32(*(*uint8)(unsafe.Pointer(message))) != 0; i++ {
 34731  		if i >= size-uint64(1) {
 34732  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0) // Terminate partial message
 34733  			return -48
 34734  		}
 34735  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))
 34736  	}
 34737  
 34738  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0)
 34739  	return int32(i)
 34740  }
 34741  
 34742  // End of pcre2_error.c
 34743  
 34744  // This function is needed only when memmove() is not available.
 34745  
 34746  // End of pcre2_internal.h
 34747  
 34748  // Dummy function
 34749  
 34750  // ************************************************
 34751  //
 34752  //      Match an extended grapheme sequence       *
 34753  //
 34754  
 34755  //
 34756  // Arguments:
 34757  //   c              the first character
 34758  //   eptr           pointer to next character
 34759  //   start_subject  pointer to start of subject
 34760  //   end_subject    pointer to end of subject
 34761  //   utf            TRUE if in UTF mode
 34762  //   xcount         pointer to count of additional characters,
 34763  //                    or NULL if count not needed
 34764  //
 34765  // Returns:         pointer after the end of the sequence
 34766  
 34767  func X_pcre2_extuni_8(tls *libc.TLS, c Tuint32_t, eptr TPCRE2_SPTR8, start_subject TPCRE2_SPTR8, end_subject TPCRE2_SPTR8, utf TBOOL, xcount uintptr) TPCRE2_SPTR8 { /* pcre2_extuni.c:92:1: */
 34768  	var lgb int32 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 34769  
 34770  	for eptr < end_subject {
 34771  		var rgb int32
 34772  		var len int32 = 1
 34773  		if !(utf != 0) {
 34774  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34775  		} else {
 34776  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34777  			if c >= 0xc0 {
 34778  				if c&0x20 == Tuint32_t(0) {
 34779  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 34780  					len++
 34781  				} else if c&0x10 == Tuint32_t(0) {
 34782  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f
 34783  					len = len + 2
 34784  				} else if c&0x08 == Tuint32_t(0) {
 34785  					c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f
 34786  					len = len + 3
 34787  				} else if c&0x04 == Tuint32_t(0) {
 34788  					c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f
 34789  					len = len + 4
 34790  				} else {
 34791  					c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 5)))&0x3f
 34792  					len = len + 5
 34793  				}
 34794  			}
 34795  
 34796  		}
 34797  		rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 34798  		if X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0) {
 34799  			break
 34800  		}
 34801  
 34802  		// Not breaking between Regional Indicators is allowed only if there
 34803  		//   are an even number of preceding RIs.
 34804  
 34805  		if lgb == ucp_gbRegional_Indicator && rgb == ucp_gbRegional_Indicator {
 34806  			var ricount int32 = 0
 34807  			var bptr TPCRE2_SPTR8 = eptr - uintptr(1)
 34808  			if utf != 0 {
 34809  				for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34810  					bptr--
 34811  				}
 34812  			}
 34813  
 34814  			// bptr is pointing to the left-hand character
 34815  
 34816  			for bptr > start_subject {
 34817  				bptr--
 34818  				if utf != 0 {
 34819  					for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34820  						bptr--
 34821  					}
 34822  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34823  					if c >= 0xc0 {
 34824  						if c&0x20 == Tuint32_t(0) {
 34825  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f
 34826  						} else if c&0x10 == Tuint32_t(0) {
 34827  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f
 34828  						} else if c&0x08 == Tuint32_t(0) {
 34829  							c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f
 34830  						} else if c&0x04 == Tuint32_t(0) {
 34831  							c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f
 34832  						} else {
 34833  							c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 5)))&0x3f
 34834  						}
 34835  					}
 34836  
 34837  				} else {
 34838  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34839  				}
 34840  				if int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop) != ucp_gbRegional_Indicator {
 34841  					break
 34842  				}
 34843  				ricount++
 34844  			}
 34845  			if ricount&1 != 0 {
 34846  				break
 34847  			} // Grapheme break required
 34848  		}
 34849  
 34850  		// If Extend or ZWJ follows Extended_Pictographic, do not update lgb; this
 34851  		//   allows any number of them before a following Extended_Pictographic.
 34852  
 34853  		if rgb != ucp_gbExtend && rgb != ucp_gbZWJ || lgb != ucp_gbExtended_Pictographic {
 34854  			lgb = rgb
 34855  		}
 34856  
 34857  		eptr += TPCRE2_SPTR8(len)
 34858  		if xcount != uintptr(0) {
 34859  			*(*int32)(unsafe.Pointer(xcount)) += 1
 34860  		}
 34861  	}
 34862  
 34863  	return eptr
 34864  }
 34865  
 34866  // End of pcre2_extuni.c
 34867  
 34868  // This function is needed only when memmove() is not available.
 34869  
 34870  // End of pcre2_internal.h
 34871  
 34872  // ************************************************
 34873  //
 34874  //    Scan compiled regex for specific bracket    *
 34875  //
 34876  
 34877  //
 34878  // Arguments:
 34879  //   code        points to start of expression
 34880  //   utf         TRUE in UTF mode
 34881  //   number      the required bracket number or negative to find a lookbehind
 34882  //
 34883  // Returns:      pointer to the opcode for the bracket, or NULL if not found
 34884  
 34885  func X_pcre2_find_bracket_8(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, number int32) TPCRE2_SPTR8 { /* pcre2_find_bracket.c:70:1: */
 34886  	for {
 34887  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 34888  
 34889  		if int32(c) == OP_END {
 34890  			return uintptr(0)
 34891  		}
 34892  
 34893  		// XCLASS is used for classes that cannot be represented just by a bit map.
 34894  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 34895  		//   callouts with string arguments. In both cases the length in the table is
 34896  		//   zero; the actual length is stored in the compiled code.
 34897  
 34898  		if int32(c) == OP_XCLASS {
 34899  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 34900  		} else if int32(c) == OP_CALLOUT_STR {
 34901  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 34902  		} else if int32(c) == OP_REVERSE {
 34903  			if number < 0 {
 34904  				return code
 34905  			}
 34906  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34907  		} else if int32(c) == OP_CBRA || int32(c) == OP_SCBRA || int32(c) == OP_CBRAPOS || int32(c) == OP_SCBRAPOS {
 34908  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))))
 34909  			if n == number {
 34910  				return code
 34911  			}
 34912  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34913  		} else {
 34914  			switch int32(c) {
 34915  			case OP_TYPESTAR:
 34916  				fallthrough
 34917  			case OP_TYPEMINSTAR:
 34918  				fallthrough
 34919  			case OP_TYPEPLUS:
 34920  				fallthrough
 34921  			case OP_TYPEMINPLUS:
 34922  				fallthrough
 34923  			case OP_TYPEQUERY:
 34924  				fallthrough
 34925  			case OP_TYPEMINQUERY:
 34926  				fallthrough
 34927  			case OP_TYPEPOSSTAR:
 34928  				fallthrough
 34929  			case OP_TYPEPOSPLUS:
 34930  				fallthrough
 34931  			case OP_TYPEPOSQUERY:
 34932  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 34933  					code += uintptr(2)
 34934  				}
 34935  				break
 34936  				fallthrough
 34937  
 34938  			case OP_TYPEUPTO:
 34939  				fallthrough
 34940  			case OP_TYPEMINUPTO:
 34941  				fallthrough
 34942  			case OP_TYPEEXACT:
 34943  				fallthrough
 34944  			case OP_TYPEPOSUPTO:
 34945  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 34946  					code += uintptr(2)
 34947  				}
 34948  				break
 34949  				fallthrough
 34950  
 34951  			case OP_MARK:
 34952  				fallthrough
 34953  			case OP_COMMIT_ARG:
 34954  				fallthrough
 34955  			case OP_PRUNE_ARG:
 34956  				fallthrough
 34957  			case OP_SKIP_ARG:
 34958  				fallthrough
 34959  			case OP_THEN_ARG:
 34960  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 34961  				break
 34962  			}
 34963  
 34964  			// Add in the fixed length from the table
 34965  
 34966  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34967  
 34968  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
 34969  			//   followed by a multi-byte character. The length in the table is a minimum, so
 34970  			//   we have to arrange to skip the extra bytes.
 34971  
 34972  			if utf != 0 {
 34973  				switch int32(c) {
 34974  				case OP_CHAR:
 34975  					fallthrough
 34976  				case OP_CHARI:
 34977  					fallthrough
 34978  				case OP_NOT:
 34979  					fallthrough
 34980  				case OP_NOTI:
 34981  					fallthrough
 34982  				case OP_EXACT:
 34983  					fallthrough
 34984  				case OP_EXACTI:
 34985  					fallthrough
 34986  				case OP_NOTEXACT:
 34987  					fallthrough
 34988  				case OP_NOTEXACTI:
 34989  					fallthrough
 34990  				case OP_UPTO:
 34991  					fallthrough
 34992  				case OP_UPTOI:
 34993  					fallthrough
 34994  				case OP_NOTUPTO:
 34995  					fallthrough
 34996  				case OP_NOTUPTOI:
 34997  					fallthrough
 34998  				case OP_MINUPTO:
 34999  					fallthrough
 35000  				case OP_MINUPTOI:
 35001  					fallthrough
 35002  				case OP_NOTMINUPTO:
 35003  					fallthrough
 35004  				case OP_NOTMINUPTOI:
 35005  					fallthrough
 35006  				case OP_POSUPTO:
 35007  					fallthrough
 35008  				case OP_POSUPTOI:
 35009  					fallthrough
 35010  				case OP_NOTPOSUPTO:
 35011  					fallthrough
 35012  				case OP_NOTPOSUPTOI:
 35013  					fallthrough
 35014  				case OP_STAR:
 35015  					fallthrough
 35016  				case OP_STARI:
 35017  					fallthrough
 35018  				case OP_NOTSTAR:
 35019  					fallthrough
 35020  				case OP_NOTSTARI:
 35021  					fallthrough
 35022  				case OP_MINSTAR:
 35023  					fallthrough
 35024  				case OP_MINSTARI:
 35025  					fallthrough
 35026  				case OP_NOTMINSTAR:
 35027  					fallthrough
 35028  				case OP_NOTMINSTARI:
 35029  					fallthrough
 35030  				case OP_POSSTAR:
 35031  					fallthrough
 35032  				case OP_POSSTARI:
 35033  					fallthrough
 35034  				case OP_NOTPOSSTAR:
 35035  					fallthrough
 35036  				case OP_NOTPOSSTARI:
 35037  					fallthrough
 35038  				case OP_PLUS:
 35039  					fallthrough
 35040  				case OP_PLUSI:
 35041  					fallthrough
 35042  				case OP_NOTPLUS:
 35043  					fallthrough
 35044  				case OP_NOTPLUSI:
 35045  					fallthrough
 35046  				case OP_MINPLUS:
 35047  					fallthrough
 35048  				case OP_MINPLUSI:
 35049  					fallthrough
 35050  				case OP_NOTMINPLUS:
 35051  					fallthrough
 35052  				case OP_NOTMINPLUSI:
 35053  					fallthrough
 35054  				case OP_POSPLUS:
 35055  					fallthrough
 35056  				case OP_POSPLUSI:
 35057  					fallthrough
 35058  				case OP_NOTPOSPLUS:
 35059  					fallthrough
 35060  				case OP_NOTPOSPLUSI:
 35061  					fallthrough
 35062  				case OP_QUERY:
 35063  					fallthrough
 35064  				case OP_QUERYI:
 35065  					fallthrough
 35066  				case OP_NOTQUERY:
 35067  					fallthrough
 35068  				case OP_NOTQUERYI:
 35069  					fallthrough
 35070  				case OP_MINQUERY:
 35071  					fallthrough
 35072  				case OP_MINQUERYI:
 35073  					fallthrough
 35074  				case OP_NOTMINQUERY:
 35075  					fallthrough
 35076  				case OP_NOTMINQUERYI:
 35077  					fallthrough
 35078  				case OP_POSQUERY:
 35079  					fallthrough
 35080  				case OP_POSQUERYI:
 35081  					fallthrough
 35082  				case OP_NOTPOSQUERY:
 35083  					fallthrough
 35084  				case OP_NOTPOSQUERYI:
 35085  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 35086  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 35087  					}
 35088  					break
 35089  				}
 35090  			}
 35091  		}
 35092  	}
 35093  	return TPCRE2_SPTR8(0)
 35094  }
 35095  
 35096  // End of pcre2_find_bracket.c
 35097  
 35098  // This function is needed only when memmove() is not available.
 35099  
 35100  // End of pcre2_internal.h
 35101  
 35102  // ************************************************
 35103  //
 35104  //        JIT compile a Regular Expression        *
 35105  //
 35106  
 35107  // This function used JIT to convert a previously-compiled pattern into machine
 35108  // code.
 35109  //
 35110  // Arguments:
 35111  //   code          a compiled pattern
 35112  //   options       JIT option bits
 35113  //
 35114  // Returns:        0: success or (*NOJIT) was used
 35115  //                <0: an error code
 35116  
 35117  func Xpcre2_jit_compile_8(tls *libc.TLS, code uintptr, options Tuint32_t) int32 { /* pcre2_jit_compile.c:14382:1: */
 35118  	var re uintptr = code
 35119  
 35120  	if code == uintptr(0) {
 35121  		return -51
 35122  	}
 35123  
 35124  	if options&libc.CplUint32(DPCRE2_JIT_COMPLETE|DPCRE2_JIT_PARTIAL_SOFT|DPCRE2_JIT_PARTIAL_HARD|DPCRE2_JIT_INVALID_UTF) != Tuint32_t(0) {
 35125  		return -45
 35126  	}
 35127  
 35128  	// Support for invalid UTF was first introduced in JIT, with the option
 35129  	// PCRE2_JIT_INVALID_UTF. Later, support was added to the interpreter, and the
 35130  	// compile-time option PCRE2_MATCH_INVALID_UTF was created. This is now the
 35131  	// preferred feature, with the earlier option deprecated. However, for backward
 35132  	// compatibility, if the earlier option is set, it forces the new option so that
 35133  	// if JIT matching falls back to the interpreter, there is still support for
 35134  	// invalid UTF. However, if this function has already been successfully called
 35135  	// without PCRE2_JIT_INVALID_UTF and without PCRE2_MATCH_INVALID_UTF (meaning that
 35136  	// non-invalid-supporting JIT code was compiled), give an error.
 35137  	//
 35138  	// If in the future support for PCRE2_JIT_INVALID_UTF is withdrawn, the following
 35139  	// actions are needed:
 35140  	//
 35141  	//   1. Remove the definition from pcre2.h.in and from the list in
 35142  	//      PUBLIC_JIT_COMPILE_OPTIONS above.
 35143  	//
 35144  	//   2. Replace PCRE2_JIT_INVALID_UTF with a local flag in this module.
 35145  	//
 35146  	//   3. Replace PCRE2_JIT_INVALID_UTF in pcre2_jit_test.c.
 35147  	//
 35148  	//   4. Delete the following short block of code. The setting of "re" and
 35149  	//      "functions" can be moved into the JIT-only block below, but if that is
 35150  	//      done, (void)re and (void)functions will be needed in the non-JIT case, to
 35151  	//      avoid compiler warnings.
 35152  
 35153  	if options&DPCRE2_JIT_INVALID_UTF != Tuint32_t(0) {
 35154  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF == Tuint32_t(0) {
 35155  			*(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_MATCH_INVALID_UTF
 35156  		}
 35157  	}
 35158  
 35159  	// The above tests are run with and without JIT support. This means that
 35160  	// PCRE2_JIT_INVALID_UTF propagates back into the regex options (ensuring
 35161  	// interpreter support) even in the absence of JIT. But now, if there is no JIT
 35162  	// support, give an error return.
 35163  
 35164  	return -45
 35165  }
 35166  
 35167  // JIT compiler uses an all-in-one approach. This improves security,
 35168  //    since the code generator functions are not exported.
 35169  
 35170  // ************************************************
 35171  //
 35172  //      Perl-Compatible Regular Expressions       *
 35173  //
 35174  
 35175  // PCRE is a library of functions to support regular expressions whose syntax
 35176  // and semantics are as close as possible to those of the Perl 5 language.
 35177  //
 35178  //                        Written by Philip Hazel
 35179  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35180  //           New API code Copyright (c) 2016-2018 University of Cambridge
 35181  //
 35182  // -----------------------------------------------------------------------------
 35183  // Redistribution and use in source and binary forms, with or without
 35184  // modification, are permitted provided that the following conditions are met:
 35185  //
 35186  //     * Redistributions of source code must retain the above copyright notice,
 35187  //       this list of conditions and the following disclaimer.
 35188  //
 35189  //     * Redistributions in binary form must reproduce the above copyright
 35190  //       notice, this list of conditions and the following disclaimer in the
 35191  //       documentation and/or other materials provided with the distribution.
 35192  //
 35193  //     * Neither the name of the University of Cambridge nor the names of its
 35194  //       contributors may be used to endorse or promote products derived from
 35195  //       this software without specific prior written permission.
 35196  //
 35197  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35198  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35199  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35200  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35201  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35202  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35203  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35204  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35205  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35206  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35207  // POSSIBILITY OF SUCH DAMAGE.
 35208  // -----------------------------------------------------------------------------
 35209  
 35210  // ************************************************
 35211  //
 35212  //              Do a JIT pattern match            *
 35213  //
 35214  
 35215  // This function runs a JIT pattern match.
 35216  //
 35217  // Arguments:
 35218  //   code            points to the compiled expression
 35219  //   subject         points to the subject string
 35220  //   length          length of subject string (may contain binary zeros)
 35221  //   start_offset    where to start in the subject string
 35222  //   options         option bits
 35223  //   match_data      points to a match_data block
 35224  //   mcontext        points to a match context
 35225  //
 35226  // Returns:          > 0 => success; value is the number of ovector pairs filled
 35227  //                   = 0 => success, but ovector is not big enough
 35228  //                    -1 => failed to match (PCRE_ERROR_NOMATCH)
 35229  //                  < -1 => some kind of unexpected problem
 35230  
 35231  func Xpcre2_jit_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_jit_match.c:85:1: */
 35232  
 35233  	_ = code
 35234  	_ = subject
 35235  	_ = length
 35236  	_ = start_offset
 35237  	_ = options
 35238  	_ = match_data
 35239  	_ = mcontext
 35240  	return -45
 35241  
 35242  }
 35243  
 35244  // End of pcre2_jit_match.c
 35245  // ************************************************
 35246  //
 35247  //      Perl-Compatible Regular Expressions       *
 35248  //
 35249  
 35250  // PCRE is a library of functions to support regular expressions whose syntax
 35251  // and semantics are as close as possible to those of the Perl 5 language.
 35252  //
 35253  //                        Written by Philip Hazel
 35254  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35255  //          New API code Copyright (c) 2016 University of Cambridge
 35256  //
 35257  // -----------------------------------------------------------------------------
 35258  // Redistribution and use in source and binary forms, with or without
 35259  // modification, are permitted provided that the following conditions are met:
 35260  //
 35261  //     * Redistributions of source code must retain the above copyright notice,
 35262  //       this list of conditions and the following disclaimer.
 35263  //
 35264  //     * Redistributions in binary form must reproduce the above copyright
 35265  //       notice, this list of conditions and the following disclaimer in the
 35266  //       documentation and/or other materials provided with the distribution.
 35267  //
 35268  //     * Neither the name of the University of Cambridge nor the names of its
 35269  //       contributors may be used to endorse or promote products derived from
 35270  //       this software without specific prior written permission.
 35271  //
 35272  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35273  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35274  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35275  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35276  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35277  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35278  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35279  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35280  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35281  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35282  // POSSIBILITY OF SUCH DAMAGE.
 35283  // -----------------------------------------------------------------------------
 35284  
 35285  // ************************************************
 35286  //
 35287  //           Free JIT read-only data              *
 35288  //
 35289  
 35290  func X_pcre2_jit_free_rodata_8(tls *libc.TLS, current uintptr, allocator_data uintptr) { /* pcre2_jit_misc.c:53:1: */
 35291  	_ = current
 35292  	_ = allocator_data
 35293  }
 35294  
 35295  // ************************************************
 35296  //
 35297  //           Free JIT compiled code               *
 35298  //
 35299  
 35300  func X_pcre2_jit_free_8(tls *libc.TLS, executable_jit uintptr, memctl uintptr) { /* pcre2_jit_misc.c:78:1: */
 35301  	_ = executable_jit
 35302  	_ = memctl
 35303  }
 35304  
 35305  // ************************************************
 35306  //
 35307  //            Free unused JIT memory              *
 35308  //
 35309  
 35310  func Xpcre2_jit_free_unused_memory_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_jit_misc.c:107:1: */
 35311  	_ = gcontext // Suppress warning
 35312  }
 35313  
 35314  // ************************************************
 35315  //
 35316  //            Allocate a JIT stack                *
 35317  //
 35318  
 35319  func Xpcre2_jit_stack_create_8(tls *libc.TLS, startsize Tsize_t, maxsize Tsize_t, gcontext uintptr) uintptr { /* pcre2_jit_misc.c:123:32: */
 35320  
 35321  	_ = gcontext
 35322  	_ = startsize
 35323  	_ = maxsize
 35324  	return uintptr(0)
 35325  
 35326  }
 35327  
 35328  // ************************************************
 35329  //
 35330  //         Assign a JIT stack to a pattern        *
 35331  //
 35332  
 35333  func Xpcre2_jit_stack_assign_8(tls *libc.TLS, mcontext uintptr, callback Tpcre2_jit_callback_8, callback_data uintptr) { /* pcre2_jit_misc.c:164:1: */
 35334  	_ = mcontext
 35335  	_ = callback
 35336  	_ = callback_data
 35337  }
 35338  
 35339  // ************************************************
 35340  //
 35341  //               Free a JIT stack                 *
 35342  //
 35343  
 35344  func Xpcre2_jit_stack_free_8(tls *libc.TLS, jit_stack uintptr) { /* pcre2_jit_misc.c:186:1: */
 35345  	_ = jit_stack
 35346  }
 35347  
 35348  // ************************************************
 35349  //
 35350  //               Get target CPU type              *
 35351  //
 35352  
 35353  func X_pcre2_jit_get_target_8(tls *libc.TLS) uintptr { /* pcre2_jit_misc.c:204:11: */
 35354  	return ts + 7657 /* "JIT is not suppo..." */
 35355  }
 35356  
 35357  // ************************************************
 35358  //
 35359  //              Get size of JIT code              *
 35360  //
 35361  
 35362  func X_pcre2_jit_get_size_8(tls *libc.TLS, executable_jit uintptr) Tsize_t { /* pcre2_jit_misc.c:220:1: */
 35363  	_ = executable_jit
 35364  	return uint64(0)
 35365  }
 35366  
 35367  // End of pcre2_jit_misc.c
 35368  
 35369  // End of pcre2_jit_compile.c
 35370  
 35371  // This function is needed only when memmove() is not available.
 35372  
 35373  // End of pcre2_internal.h
 35374  
 35375  // ************************************************
 35376  //
 35377  //           Create PCRE2 character tables        *
 35378  //
 35379  
 35380  // This function builds a set of character tables for use by PCRE2 and returns
 35381  // a pointer to them. They are build using the ctype functions, and consequently
 35382  // their contents will depend upon the current locale setting. When compiled as
 35383  // part of the library, the store is obtained via a general context malloc, if
 35384  // supplied, but when PCRE2_DFTABLES is defined (when compiling the pcre2_dftables
 35385  // freestanding auxiliary program) malloc() is used, and the function has a
 35386  // different name so as not to clash with the prototype in pcre2.h.
 35387  //
 35388  // Arguments:   none when PCRE2_DFTABLES is defined
 35389  //                else a PCRE2 general context or NULL
 35390  // Returns:     pointer to the contiguous block of data
 35391  //                else NULL if memory allocation failed
 35392  
 35393  func Xpcre2_maketables_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_maketables.c:81:30: */
 35394  	var yield uintptr = func() uintptr {
 35395  		if gcontext != uintptr(0) {
 35396  			return (*struct {
 35397  				f func(*libc.TLS, Tsize_t, uintptr) uintptr
 35398  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256), (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 35399  		}
 35400  		return libc.Xmalloc(tls, uint64(Dcbits_offset+Dcbit_length+256))
 35401  	}()
 35402  	var i int32
 35403  	var p uintptr
 35404  
 35405  	if yield == uintptr(0) {
 35406  		return uintptr(0)
 35407  	}
 35408  	p = yield
 35409  
 35410  	// First comes the lower casing table
 35411  
 35412  	for i = 0; i < 256; i++ {
 35413  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(libc.Xtolower(tls, i))
 35414  	}
 35415  
 35416  	// Next the case-flipping table
 35417  
 35418  	for i = 0; i < 256; i++ {
 35419  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = func() uint8 {
 35420  			if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35421  				return uint8(libc.Xtoupper(tls, i))
 35422  			}
 35423  			return uint8(libc.Xtolower(tls, i))
 35424  		}()
 35425  	}
 35426  
 35427  	// Then the character class tables. Don't try to be clever and save effort on
 35428  	// exclusive ones - in some locales things may be different.
 35429  	//
 35430  	// Note that the table for "space" includes everything "isspace" gives, including
 35431  	// VT in the default locale. This makes it work for the POSIX class [:space:].
 35432  	// From PCRE1 release 8.34 and for all PCRE2 releases it is also correct for Perl
 35433  	// space, because Perl added VT at release 5.18.
 35434  	//
 35435  	// Note also that it is possible for a character to be alnum or alpha without
 35436  	// being lower or upper, such as "male and female ordinals" (\xAA and \xBA) in the
 35437  	// fr_FR locale (at least under Debian Linux's locales as of 12/2005). So we must
 35438  	// test for alnum specially.
 35439  
 35440  	libc.Xmemset(tls, p, 0, uint64(Dcbit_length))
 35441  	for i = 0; i < 256; i++ {
 35442  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35443  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_digit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35444  		}
 35445  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISupper) != 0 {
 35446  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_upper+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35447  		}
 35448  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35449  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_lower+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35450  		}
 35451  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 {
 35452  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35453  		}
 35454  		if i == '_' {
 35455  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35456  		}
 35457  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35458  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_space+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35459  		}
 35460  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISxdigit) != 0 {
 35461  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_xdigit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35462  		}
 35463  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISgraph) != 0 {
 35464  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_graph+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35465  		}
 35466  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISprint) != 0 {
 35467  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_print+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35468  		}
 35469  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISpunct) != 0 {
 35470  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_punct+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35471  		}
 35472  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_IScntrl) != 0 {
 35473  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_cntrl+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35474  		}
 35475  	}
 35476  	p += uintptr(Dcbit_length)
 35477  
 35478  	// Finally, the character type table. In this, we used to exclude VT from the
 35479  	// white space chars, because Perl didn't recognize it as such for \s and for
 35480  	// comments within regexes. However, Perl changed at release 5.18, so PCRE1
 35481  	// changed at release 8.34 and it's always been this way for PCRE2.
 35482  
 35483  	for i = 0; i < 256; i++ {
 35484  		var x int32 = 0
 35485  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35486  			x = x + Dctype_space
 35487  		}
 35488  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalpha) != 0 {
 35489  			x = x + Dctype_letter
 35490  		}
 35491  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35492  			x = x + Dctype_lcletter
 35493  		}
 35494  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35495  			x = x + Dctype_digit
 35496  		}
 35497  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 || i == '_' {
 35498  			x = x + Dctype_word
 35499  		}
 35500  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(x)
 35501  	}
 35502  
 35503  	return yield
 35504  }
 35505  
 35506  func Xpcre2_maketables_free_8(tls *libc.TLS, gcontext uintptr, tables uintptr) { /* pcre2_maketables.c:154:1: */
 35507  	if gcontext != 0 {
 35508  		(*struct {
 35509  			f func(*libc.TLS, uintptr, uintptr)
 35510  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, tables, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 35511  	} else {
 35512  		libc.Xfree(tls, tables)
 35513  	}
 35514  }
 35515  
 35516  // End of pcre2_maketables.c
 35517  
 35518  // Min and max values for the common repeats; a maximum of UINT32_MAX =>
 35519  // infinity.
 35520  
 35521  var rep_min = [11]Tuint32_t{
 35522  	Tuint32_t(0), Tuint32_t(0), // * and *?
 35523  	Tuint32_t(1), Tuint32_t(1), // + and +?
 35524  	Tuint32_t(0), Tuint32_t(0), // ? and ??
 35525  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35526  	Tuint32_t(0), Tuint32_t(1), Tuint32_t(0)} /* pcre2_match.c:123:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35527  
 35528  var rep_max = [11]Tuint32_t{
 35529  	4294967295, 4294967295,
 35530  	4294967295, 4294967295,
 35531  	Tuint32_t(1), Tuint32_t(1), // ? and ??
 35532  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35533  	4294967295, 4294967295, Tuint32_t(1)} /* pcre2_match.c:130:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35534  
 35535  // Repetition types - must include OP_CRPOSRANGE (not needed above)
 35536  
 35537  var rep_typ = [12]Tuint32_t{
 35538  	REPTYPE_MAX, REPTYPE_MIN, // * and *?
 35539  	REPTYPE_MAX, REPTYPE_MIN, // + and +?
 35540  	REPTYPE_MAX, REPTYPE_MIN, // ? and ??
 35541  	REPTYPE_MAX, REPTYPE_MIN, // OP_CRRANGE and OP_CRMINRANGE
 35542  	REPTYPE_POS, REPTYPE_POS, // OP_CRPOSSTAR, OP_CRPOSPLUS
 35543  	REPTYPE_POS, REPTYPE_POS} /* pcre2_match.c:139:23 */
 35544  
 35545  // Define short names for general fields in the current backtrack frame, which
 35546  // is always pointed to by the F variable. Occasional references to fields in
 35547  // other frames are written out explicitly. There are also some fields in the
 35548  // current frame whose names start with "temp" that are used for short-term,
 35549  // localised backtracking memory. These are #defined with Lxxx names at the point
 35550  // of use and undefined afterwards.
 35551  
 35552  // ************************************************
 35553  //
 35554  //                Process a callout               *
 35555  //
 35556  
 35557  // This function is called for all callouts, whether "standalone" or at the
 35558  // start of a conditional group. Feptr will be pointing to either OP_CALLOUT or
 35559  // OP_CALLOUT_STR. A callout block is allocated in pcre2_match() and initialized
 35560  // with fixed values.
 35561  //
 35562  // Arguments:
 35563  //   F          points to the current backtracking frame
 35564  //   mb         points to the match block
 35565  //   lengthptr  where to return the length of the callout item
 35566  //
 35567  // Returns:     the return from the callout
 35568  //              or 0 if no callout function exists
 35569  
 35570  func do_callout1(tls *libc.TLS, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:267:1: */
 35571  	var rc int32
 35572  	var save0 Tsize_t
 35573  	var save1 Tsize_t
 35574  	var callout_ovector uintptr
 35575  	var cb uintptr
 35576  
 35577  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 {
 35578  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35579  			return uint64(X_pcre2_OP_lengths_8[OP_CALLOUT])
 35580  		}
 35581  		return uint64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 6)))))
 35582  	}()
 35583  
 35584  	if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 35585  		return 0
 35586  	} // No callout function provided
 35587  
 35588  	// The original matching code (pre 10.30) worked directly with the ovector
 35589  	// passed by the user, and this was passed to callouts. Now that the working
 35590  	// ovector is in the backtracking frame, it no longer needs to reserve space for
 35591  	// the overall match offsets (which would waste space in the frame). For backward
 35592  	// compatibility, however, we pass capture_top and offset_vector to the callout as
 35593  	// if for the extended ovector, and we ensure that the first two slots are unset
 35594  	// by preserving and restoring their current contents. Picky compilers complain if
 35595  	// references such as Fovector[-2] are use directly, so we set up a separate
 35596  	// pointer.
 35597  
 35598  	callout_ovector = F + 128 - uintptr(2)*8
 35599  
 35600  	// The cb->version, cb->subject, cb->subject_length, and cb->start_match fields
 35601  	// are set externally. The first 3 never change; the last is updated for each
 35602  	// bumpalong.
 35603  
 35604  	cb = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb
 35605  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_top = Tuint32_t((*Theapframe)(unsafe.Pointer(F)).Foffset_top)/Tuint32_t(2) + Tuint32_t(1)
 35606  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_last = (*Theapframe)(unsafe.Pointer(F)).Fcapture_last
 35607  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = callout_ovector
 35608  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 35609  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 35610  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 35611  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 35612  
 35613  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35614  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))
 35615  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0)
 35616  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 35617  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0)
 35618  	} else {
 35619  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 35620  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 8)))))
 35621  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 35622  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2)
 35623  	}
 35624  
 35625  	save0 = *(*Tsize_t)(unsafe.Pointer(callout_ovector))
 35626  	save1 = *(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8))
 35627  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = libc.AssignPtrUint64(callout_ovector+1*8, libc.CplUint64(uint64(0)))
 35628  	rc = (*struct {
 35629  		f func(*libc.TLS, uintptr, uintptr) int32
 35630  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 35631  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = save0
 35632  	*(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8)) = save1
 35633  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_flags = Tuint32_t(0)
 35634  	return rc
 35635  }
 35636  
 35637  // ************************************************
 35638  //
 35639  //          Match a back-reference                *
 35640  //
 35641  
 35642  // This function is called only when it is known that the offset lies within
 35643  // the offsets that have so far been used in the match. Note that in caseless
 35644  // UTF-8 mode, the number of subject bytes matched may be different to the number
 35645  // of reference bytes. (In theory this could also happen in UTF-16 mode, but it
 35646  // seems unlikely.)
 35647  //
 35648  // Arguments:
 35649  //   offset      index into the offset vector
 35650  //   caseless    TRUE if caseless
 35651  //   F           the current backtracking frame pointer
 35652  //   mb          points to match block
 35653  //   lengthptr   pointer for returning the length matched
 35654  //
 35655  // Returns:      = 0 sucessful match; number of code units matched is set
 35656  //               < 0 no match
 35657  //               > 0 partial match
 35658  
 35659  func match_ref(tls *libc.TLS, offset Tsize_t, caseless TBOOL, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:355:1: */
 35660  	var p TPCRE2_SPTR8
 35661  	var length Tsize_t
 35662  	var eptr TPCRE2_SPTR8
 35663  	var eptr_start TPCRE2_SPTR8
 35664  
 35665  	// Deal with an unset group. The default is no match, but there is an option to
 35666  	// match an empty string.
 35667  
 35668  	if offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top || *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) == libc.CplUint64(uint64(0)) {
 35669  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) {
 35670  			*(*Tsize_t)(unsafe.Pointer(lengthptr)) = uint64(0)
 35671  			return 0 // Match
 35672  		} else {
 35673  			return -1
 35674  		} // No match
 35675  	}
 35676  
 35677  	// Separate the caseless and UTF cases for speed.
 35678  
 35679  	eptr = libc.AssignUintptr(&eptr_start, (*Theapframe)(unsafe.Pointer(F)).Feptr)
 35680  	p = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)))
 35681  	length = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8))
 35682  
 35683  	if caseless != 0 {
 35684  		var utf TBOOL = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 35685  
 35686  		if utf != 0 || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0) {
 35687  			var endptr TPCRE2_SPTR8 = p + uintptr(length)
 35688  
 35689  			// Match characters up to the end of the reference. NOTE: the number of
 35690  			//     code units matched may differ, because in UTF-8 there are some characters
 35691  			//     whose upper and lower case codes have different numbers of bytes. For
 35692  			//     example, U+023A (2 bytes in UTF-8) is the upper case version of U+2C65 (3
 35693  			//     bytes in UTF-8); a sequence of 3 of the former uses 6 bytes, as does a
 35694  			//     sequence of two of the latter. It is important, therefore, to check the
 35695  			//     length along the reference, not along the subject (earlier code did this
 35696  			//     wrong). UCP without uses Unicode properties but without UTF encoding.
 35697  
 35698  			for p < endptr {
 35699  				var c Tuint32_t
 35700  				var d Tuint32_t
 35701  				var ur uintptr
 35702  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35703  					return 1
 35704  				} // Partial match
 35705  
 35706  				if utf != 0 {
 35707  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35708  					if c >= 0xc0 {
 35709  						if c&0x20 == Tuint32_t(0) {
 35710  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))&0x3f
 35711  						} else if c&0x10 == Tuint32_t(0) {
 35712  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 35713  							eptr += uintptr(2)
 35714  						} else if c&0x08 == Tuint32_t(0) {
 35715  							c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f
 35716  							eptr += uintptr(3)
 35717  						} else if c&0x04 == Tuint32_t(0) {
 35718  							c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f
 35719  							eptr += uintptr(4)
 35720  						} else {
 35721  							c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f
 35722  							eptr += uintptr(5)
 35723  						}
 35724  					}
 35725  
 35726  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35727  					if d >= 0xc0 {
 35728  						if d&0x20 == Tuint32_t(0) {
 35729  							d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 35730  						} else if d&0x10 == Tuint32_t(0) {
 35731  							d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 35732  							p += uintptr(2)
 35733  						} else if d&0x08 == Tuint32_t(0) {
 35734  							d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f
 35735  							p += uintptr(3)
 35736  						} else if d&0x04 == Tuint32_t(0) {
 35737  							d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f
 35738  							p += uintptr(4)
 35739  						} else {
 35740  							d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f
 35741  							p += uintptr(5)
 35742  						}
 35743  					}
 35744  
 35745  				} else {
 35746  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35747  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35748  				}
 35749  
 35750  				ur = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12
 35751  				if c != d && c != Tuint32_t(int32(d)+(*Tucd_record)(unsafe.Pointer(ur)).Fother_case) {
 35752  					var pp uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(ur)).Fcaseset)*4
 35753  					for {
 35754  						if c < *(*Tuint32_t)(unsafe.Pointer(pp)) {
 35755  							return -1
 35756  						} // No match
 35757  						if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&pp, 4))) {
 35758  							break
 35759  						}
 35760  					}
 35761  				}
 35762  			}
 35763  		} else {
 35764  			for ; length > uint64(0); length-- {
 35765  				var cc Tuint32_t
 35766  				var cp Tuint32_t
 35767  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35768  					return 1
 35769  				} // Partial match
 35770  				cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 35771  				cp = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 35772  				if int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cp)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc)))) {
 35773  					return -1
 35774  				} // No match
 35775  				p++
 35776  				eptr++
 35777  			}
 35778  		}
 35779  	} else {
 35780  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 {
 35781  			for ; length > uint64(0); length-- {
 35782  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35783  					return 1
 35784  				} // Partial match
 35785  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) {
 35786  					return -1
 35787  				} // No match
 35788  			}
 35789  		} else {
 35790  			if Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64(eptr))/1) < length {
 35791  				return 1
 35792  			} // Partial
 35793  			if libc.Xmemcmp(tls, p, eptr, length*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) != 0 {
 35794  				return -1
 35795  			} // No match
 35796  			eptr += TPCRE2_SPTR8(length)
 35797  		}
 35798  	}
 35799  
 35800  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = Tsize_t((int64(eptr) - int64(eptr_start)) / 1)
 35801  	return 0 // Match
 35802  }
 35803  
 35804  //*****************************************************************************
 35805  //
 35806  //                    "Recursion" in the match() function
 35807  //
 35808  // The original match() function was highly recursive, but this proved to be the
 35809  // source of a number of problems over the years, mostly because of the relatively
 35810  // small system stacks that are commonly found. As new features were added to
 35811  // patterns, various kludges were invented to reduce the amount of stack used,
 35812  // making the code hard to understand in places.
 35813  //
 35814  // A version did exist that used individual frames on the heap instead of calling
 35815  // match() recursively, but this ran substantially slower. The current version is
 35816  // a refactoring that uses a vector of frames to remember backtracking points.
 35817  // This runs no slower, and possibly even a bit faster than the original recursive
 35818  // implementation. An initial vector of size START_FRAMES_SIZE (enough for maybe
 35819  // 50 frames) is allocated on the system stack. If this is not big enough, the
 35820  // heap is used for a larger vector.
 35821  //
 35822  // *******************************************************************************
 35823  // *****************************************************************************
 35824  
 35825  // ************************************************
 35826  //
 35827  //       Macros for the match() function          *
 35828  //
 35829  
 35830  // These macros pack up tests that are used for partial matching several times
 35831  // in the code. The second one is used when we already know we are past the end of
 35832  // the subject. We set the "hit end" flag if the pointer is at the end of the
 35833  // subject and either (a) the pointer is past the earliest inspected character
 35834  // (i.e. something has been matched, even if not part of the actual matched
 35835  // string), or (b) the pattern contains a lookbehind. These are the conditions for
 35836  // which adding more characters may allow the current match to continue.
 35837  //
 35838  // For hard partial matching, we immediately return a partial match. Otherwise,
 35839  // carrying on means that a complete match on the current subject will be sought.
 35840  // A partial match is returned only if no complete match can be found.
 35841  
 35842  // These macros are used to implement backtracking. They simulate a recursive
 35843  // call to the match() function by means of a local vector of frames which
 35844  // remember the backtracking points.
 35845  
 35846  // ************************************************
 35847  //
 35848  //         Match from current position            *
 35849  //
 35850  
 35851  // This function is called to run one match attempt at a single starting point
 35852  // in the subject.
 35853  //
 35854  // Performance note: It might be tempting to extract commonly used fields from the
 35855  // mb structure (e.g. end_subject) into individual variables to improve
 35856  // performance. Tests using gcc on a SPARC disproved this; in the first case, it
 35857  // made performance worse.
 35858  //
 35859  // Arguments:
 35860  //    start_eptr   starting character in subject
 35861  //    start_ecode  starting position in compiled code
 35862  //    ovector      pointer to the final output vector
 35863  //    oveccount    number of pairs in ovector
 35864  //    top_bracket  number of capturing parentheses in the pattern
 35865  //    frame_size   size of each backtracking frame
 35866  //    mb           pointer to "static" variables block
 35867  //
 35868  // Returns:        MATCH_MATCH if matched            )  these values are >= 0
 35869  //                 MATCH_NOMATCH if failed to match  )
 35870  //                 negative MATCH_xxx value for PRUNE, SKIP, etc
 35871  //                 negative PCRE2_ERROR_xxx value if aborted by an error condition
 35872  //                 (e.g. stopped by repeated call or depth limit)
 35873  
 35874  func match(tls *libc.TLS, start_eptr TPCRE2_SPTR8, start_ecode TPCRE2_SPTR8, ovector uintptr, oveccount Tuint16_t, top_bracket Tuint16_t, frame_size Tsize_t, mb uintptr) int32 { /* pcre2_match.c:583:1: */
 35875  	bp := tls.Alloc(40)
 35876  	defer tls.Free(40)
 35877  
 35878  	// Frame-handling variables
 35879  
 35880  	var F uintptr // Current frame pointer
 35881  	var N uintptr // Temporary frame pointers
 35882  	var P uintptr
 35883  	var assert_accept_frame uintptr // For passing back a frame with captures
 35884  	var frame_copy_size Tsize_t     // Amount to copy when creating a new frame
 35885  
 35886  	// Local variables that do not need to be preserved over calls to RRMATCH().
 35887  
 35888  	var bracode TPCRE2_SPTR8 // Temp pointer to start of group
 35889  	var offset Tsize_t       // Used for group offsets
 35890  	// var length Tsize_t at bp, 8
 35891  	// Used for various length calculations
 35892  
 35893  	var rrc int32      // Return from functions & backtracking "recursions"
 35894  	var proptype int32 // Type of character property
 35895  
 35896  	var i Tuint32_t                // Used for local loops
 35897  	var fc Tuint32_t               // Character values
 35898  	var number Tuint32_t           // Used for group and other numbers
 35899  	var reptype Tuint32_t          // Type of repetition (0 to avoid compiler warning)
 35900  	var group_frame_type Tuint32_t // Specifies type for new group frames
 35901  
 35902  	var condition TBOOL    // Used in conditional groups
 35903  	var cur_is_word TBOOL  // Used in "word" tests
 35904  	var prev_is_word TBOOL // Used in "word" tests
 35905  
 35906  	// UTF and UCP flags
 35907  
 35908  	var utf TBOOL
 35909  	var ucp TBOOL
 35910  	var maxsize Tsize_t
 35911  	var newsize Tsize_t
 35912  	var new uintptr
 35913  	var cc Tuint32_t
 35914  	var dc Tuint32_t
 35915  	var cc1 Tuint32_t
 35916  	var ch Tuint32_t
 35917  	var ch1 Tuint32_t
 35918  	var ch2 Tuint32_t
 35919  	var othercase Tuint32_t
 35920  	var cc2 Tuint32_t
 35921  	var cc3 Tuint32_t
 35922  	var cc4 Tuint32_t
 35923  	var d Tuint32_t
 35924  	var d1 Tuint32_t
 35925  	var len int32
 35926  	var d2 Tuint32_t
 35927  	var d3 Tuint32_t
 35928  	var d4 Tuint32_t
 35929  	var len1 int32
 35930  	var d5 Tuint32_t
 35931  	var len2 int32
 35932  	var len3 int32
 35933  	var ok TBOOL
 35934  	var ok1 TBOOL
 35935  	var cp uintptr
 35936  	var prop uintptr
 35937  	var notmatch TBOOL
 35938  	var chartype int32
 35939  	var ok2 TBOOL
 35940  	var prop1 uintptr
 35941  	var category int32
 35942  	var category1 int32
 35943  	var cp1 uintptr
 35944  	var ok3 TBOOL
 35945  	var prop2 uintptr
 35946  	var notmatch1 TBOOL
 35947  	var cc5 Tuint32_t
 35948  	var cc6 Tuint32_t
 35949  	var cc7 Tuint32_t
 35950  	var cc8 Tuint32_t
 35951  	var cc9 Tuint32_t
 35952  	var chartype1 int32
 35953  	var ok4 TBOOL
 35954  	var prop3 uintptr
 35955  	var category2 int32
 35956  	var category3 int32
 35957  	var cp2 uintptr
 35958  	var ok5 TBOOL
 35959  	var prop4 uintptr
 35960  	var len4 int32
 35961  	var chartype2 int32
 35962  	var len5 int32
 35963  	var len6 int32
 35964  	var len7 int32
 35965  	var len8 int32
 35966  	var ok6 TBOOL
 35967  	var prop5 uintptr
 35968  	var len9 int32
 35969  	var category4 int32
 35970  	var len10 int32
 35971  	var len11 int32
 35972  	var category5 int32
 35973  	var len12 int32
 35974  	var cp3 uintptr
 35975  	var len13 int32
 35976  	var len14 int32
 35977  	var len15 int32
 35978  	var ok7 TBOOL
 35979  	var prop6 uintptr
 35980  	var len16 int32
 35981  	var notmatch2 TBOOL
 35982  	var lgb int32
 35983  	var rgb int32
 35984  	var fptr TPCRE2_SPTR8
 35985  	var len17 int32
 35986  	var gotspace TBOOL
 35987  	var len18 int32
 35988  	var gotspace1 TBOOL
 35989  	var len19 int32
 35990  	var len20 int32
 35991  	var len21 int32
 35992  	var len22 int32
 35993  	var len23 int32
 35994  	var len24 int32
 35995  	var len25 int32
 35996  	var count int32
 35997  	var slot TPCRE2_SPTR8
 35998  	// var slength Tsize_t at bp+8, 8
 35999  
 36000  	// var slength1 Tsize_t at bp+16, 8
 36001  
 36002  	// var slength2 Tsize_t at bp+24, 8
 36003  
 36004  	// var slength3 Tsize_t at bp+32, 8
 36005  
 36006  	var samelengths TBOOL
 36007  	var next_ecode TPCRE2_SPTR8
 36008  	var next_ecode1 TPCRE2_SPTR8
 36009  	var next_ecode2 TPCRE2_SPTR8
 36010  	var count1 int32
 36011  	var slot1 TPCRE2_SPTR8
 36012  	var count2 int32
 36013  	var slot2 TPCRE2_SPTR8
 36014  	var y Tuint32_t
 36015  	var cat int32
 36016  	var lastptr TPCRE2_SPTR8
 36017  	var cat1 int32
 36018  	var nextptr TPCRE2_SPTR8
 36019  	N = uintptr(0)
 36020  	P = uintptr(0)
 36021  	assert_accept_frame = uintptr(0)
 36022  	reptype = Tuint32_t(0)
 36023  	utf = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 36024  	ucp = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 36025  
 36026  	// This is the length of the last part of a backtracking frame that must be
 36027  	// copied when a new frame is created.
 36028  
 36029  	frame_copy_size = frame_size - Tsize_t(uintptr(0)+80)
 36030  
 36031  	// Set up the first current frame at the start of the vector, and initialize
 36032  	// fields that are not reset for new frames.
 36033  
 36034  	F = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames
 36035  	(*Theapframe)(unsafe.Pointer(F)).Frdepth = Tuint32_t(0)                                 // "Recursion" depth
 36036  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = Tuint32_t(0)                           // Number of most recent capture
 36037  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = DRECURSE_UNSET                      // Not pattern recursing.
 36038  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = libc.AssignPtrUintptr(F+80, start_eptr) // Current data pointer and start match
 36039  	(*Theapframe)(unsafe.Pointer(F)).Fmark = uintptr(0)                                     // Most recent mark
 36040  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = uint64(0)                                // End of captures within the frame
 36041  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = libc.CplUint64(uint64(0))         // Saved frame of most recent group
 36042  	group_frame_type = Tuint32_t(0)                                                         // Not a start of group frame
 36043  	goto NEW_FRAME                                                                          // Start processing with this frame
 36044  
 36045  	// Come back here when we want to create a new frame for remembering a
 36046  	// backtracking point.
 36047  
 36048  MATCH_RECURSE:
 36049  
 36050  	// Set up a new backtracking frame. If the vector is full, get a new one
 36051  	// on the heap, doubling the size, but constrained by the heap limit.
 36052  
 36053  	N = F + uintptr(frame_size)
 36054  	if !(N >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top) {
 36055  		goto __1
 36056  	}
 36057  
 36058  	newsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size * uint64(2)
 36059  
 36060  	if !(newsize/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 36061  		goto __2
 36062  	}
 36063  
 36064  	maxsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size
 36065  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size >= maxsize) {
 36066  		goto __3
 36067  	}
 36068  	return -63
 36069  __3:
 36070  	;
 36071  	newsize = maxsize
 36072  __2:
 36073  	;
 36074  
 36075  	new = (*struct {
 36076  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 36077  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, newsize, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 36078  	if !(new == uintptr(0)) {
 36079  		goto __4
 36080  	}
 36081  	return -48
 36082  __4:
 36083  	;
 36084  	libc.Xmemcpy(tls, new, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size)
 36085  
 36086  	F = new + uintptr((int64(F)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames))/1)
 36087  	N = F + uintptr(frame_size)
 36088  
 36089  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 36090  		goto __5
 36091  	}
 36092  	(*struct {
 36093  		f func(*libc.TLS, uintptr, uintptr)
 36094  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 36095  __5:
 36096  	;
 36097  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = new
 36098  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(newsize)
 36099  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = newsize
 36100  __1:
 36101  	;
 36102  
 36103  	// Copy those fields that must be copied into the new frame, increase the
 36104  	// "recursion" depth (i.e. the new frame's index) and then make the new frame
 36105  	// current.
 36106  
 36107  	libc.Xmemcpy(tls, N+uintptr(uint64(uintptr(0)+80)),
 36108  		F+uintptr(uint64(uintptr(0)+80)),
 36109  		frame_copy_size)
 36110  
 36111  	(*Theapframe)(unsafe.Pointer(N)).Frdepth = (*Theapframe)(unsafe.Pointer(F)).Frdepth + Tuint32_t(1)
 36112  	F = N
 36113  
 36114  	// Carry on processing with a new frame.
 36115  
 36116  NEW_FRAME:
 36117  	(*Theapframe)(unsafe.Pointer(F)).Fgroup_frame_type = group_frame_type
 36118  	(*Theapframe)(unsafe.Pointer(F)).Fecode = start_ecode     // Starting code pointer
 36119  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = frame_size // Default is go back one frame
 36120  
 36121  	// If this is a special type of group frame, remember its offset for quick
 36122  	// access at the end of the group. If this is a recursion, set a new current
 36123  	// recursion value.
 36124  
 36125  	if !(group_frame_type != Tuint32_t(0)) {
 36126  		goto __6
 36127  	}
 36128  
 36129  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = Tsize_t((int64(F) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames)) / 1)
 36130  	if !(group_frame_type&0xffff0000 == DGF_RECURSE) {
 36131  		goto __7
 36132  	}
 36133  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = group_frame_type & 0x0000ffff
 36134  __7:
 36135  	;
 36136  	group_frame_type = Tuint32_t(0)
 36137  __6:
 36138  	;
 36139  
 36140  	// =========================================================================
 36141  	// This is the main processing loop. First check that we haven't recorded too
 36142  	// many backtracks (search tree is too large), or that we haven't exceeded the
 36143  	// recursive depth limit (used too many backtracking frames). If not, process the
 36144  	// opcodes.
 36145  
 36146  	if !(libc.PostIncUint32(&(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 36147  		goto __8
 36148  	}
 36149  	return -47
 36150  __8:
 36151  	;
 36152  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 36153  		goto __9
 36154  	}
 36155  	return -53
 36156  __9:
 36157  	;
 36158  
 36159  __10:
 36160  
 36161  	(*Theapframe)(unsafe.Pointer(F)).Fop = *(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)) // Cast needed for 16-bit and 32-bit modes
 36162  	switch int32((*Theapframe)(unsafe.Pointer(F)).Fop) {
 36163  	// =====================================================================
 36164  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36165  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36166  	//     where we know the starting frame is at the top of the chained frames, in
 36167  	//     this case we have to search back for the relevant frame in case other types
 36168  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36169  	//     come innermost first, which matches the chain order. We can ignore this in
 36170  	//     a recursion, because captures are not passed out of recursions.
 36171  
 36172  	case OP_CLOSE:
 36173  		goto __14
 36174  
 36175  	// =====================================================================
 36176  	// Real or forced end of the pattern, assertion, or recursion. In an
 36177  	//     assertion ACCEPT, update the last used pointer and remember the current
 36178  	//     frame so that the captures and mark can be fished out of it.
 36179  
 36180  	case OP_ASSERT_ACCEPT:
 36181  		goto __15
 36182  
 36183  	// If recursing, we have to find the most recent recursion.
 36184  
 36185  	case OP_ACCEPT:
 36186  		goto __16
 36187  	case OP_END:
 36188  		goto __17 // Note: NOT RRETURN
 36189  
 36190  	//=====================================================================
 36191  	// Match any single character type except newline; have to take care with
 36192  	//     CRLF newlines and partial matching.
 36193  
 36194  	case OP_ANY:
 36195  		goto __18
 36196  	// Fall through
 36197  
 36198  	// Match any single character whatsoever.
 36199  
 36200  	case OP_ALLANY:
 36201  		goto __19
 36202  
 36203  	// =====================================================================
 36204  	// Match a single code unit, even in UTF mode. This opcode really does
 36205  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 36206  	//     of course - the byte name is from pre-16 bit days.)
 36207  
 36208  	case OP_ANYBYTE:
 36209  		goto __20
 36210  
 36211  	// =====================================================================
 36212  	// Match a single character, casefully
 36213  
 36214  	case OP_CHAR:
 36215  		goto __21
 36216  
 36217  	// =====================================================================
 36218  	// Match a single character, caselessly. If we are at the end of the
 36219  	//     subject, give up immediately. We get here only when the pattern character
 36220  	//     has at most one other case. Characters with more than two cases are coded
 36221  	//     as OP_PROP with the pseudo-property PT_CLIST.
 36222  
 36223  	case OP_CHARI:
 36224  		goto __22
 36225  
 36226  	// =====================================================================
 36227  	// Match not a single character.
 36228  
 36229  	case OP_NOT:
 36230  		goto __23
 36231  	case OP_NOTI:
 36232  		goto __24
 36233  
 36234  	// =====================================================================
 36235  	// Match a single character repeatedly.
 36236  
 36237  	case OP_EXACT:
 36238  		goto __25
 36239  	case OP_EXACTI:
 36240  		goto __26
 36241  
 36242  	case OP_POSUPTO:
 36243  		goto __27
 36244  	case OP_POSUPTOI:
 36245  		goto __28
 36246  
 36247  	case OP_UPTO:
 36248  		goto __29
 36249  	case OP_UPTOI:
 36250  		goto __30
 36251  
 36252  	case OP_MINUPTO:
 36253  		goto __31
 36254  	case OP_MINUPTOI:
 36255  		goto __32
 36256  
 36257  	case OP_POSSTAR:
 36258  		goto __33
 36259  	case OP_POSSTARI:
 36260  		goto __34
 36261  
 36262  	case OP_POSPLUS:
 36263  		goto __35
 36264  	case OP_POSPLUSI:
 36265  		goto __36
 36266  
 36267  	case OP_POSQUERY:
 36268  		goto __37
 36269  	case OP_POSQUERYI:
 36270  		goto __38
 36271  
 36272  	case OP_STAR:
 36273  		goto __39
 36274  	case OP_STARI:
 36275  		goto __40
 36276  	case OP_MINSTAR:
 36277  		goto __41
 36278  	case OP_MINSTARI:
 36279  		goto __42
 36280  	case OP_PLUS:
 36281  		goto __43
 36282  	case OP_PLUSI:
 36283  		goto __44
 36284  	case OP_MINPLUS:
 36285  		goto __45
 36286  	case OP_MINPLUSI:
 36287  		goto __46
 36288  	case OP_QUERY:
 36289  		goto __47
 36290  	case OP_QUERYI:
 36291  		goto __48
 36292  	case OP_MINQUERY:
 36293  		goto __49
 36294  	case OP_MINQUERYI:
 36295  		goto __50
 36296  
 36297  	// =====================================================================
 36298  	// Match a negated single one-byte character repeatedly. This is almost a
 36299  	//     repeat of the code for a repeated single character, but I haven't found a
 36300  	//     nice way of commoning these up that doesn't require a test of the
 36301  	//     positive/negative option for each character match. Maybe that wouldn't add
 36302  	//     very much to the time taken, but character matching *is* what this is all
 36303  	//     about...
 36304  
 36305  	case OP_NOTEXACT:
 36306  		goto __51
 36307  	case OP_NOTEXACTI:
 36308  		goto __52
 36309  
 36310  	case OP_NOTUPTO:
 36311  		goto __53
 36312  	case OP_NOTUPTOI:
 36313  		goto __54
 36314  
 36315  	case OP_NOTMINUPTO:
 36316  		goto __55
 36317  	case OP_NOTMINUPTOI:
 36318  		goto __56
 36319  
 36320  	case OP_NOTPOSSTAR:
 36321  		goto __57
 36322  	case OP_NOTPOSSTARI:
 36323  		goto __58
 36324  
 36325  	case OP_NOTPOSPLUS:
 36326  		goto __59
 36327  	case OP_NOTPOSPLUSI:
 36328  		goto __60
 36329  
 36330  	case OP_NOTPOSQUERY:
 36331  		goto __61
 36332  	case OP_NOTPOSQUERYI:
 36333  		goto __62
 36334  
 36335  	case OP_NOTPOSUPTO:
 36336  		goto __63
 36337  	case OP_NOTPOSUPTOI:
 36338  		goto __64
 36339  
 36340  	case OP_NOTSTAR:
 36341  		goto __65
 36342  	case OP_NOTSTARI:
 36343  		goto __66
 36344  	case OP_NOTMINSTAR:
 36345  		goto __67
 36346  	case OP_NOTMINSTARI:
 36347  		goto __68
 36348  	case OP_NOTPLUS:
 36349  		goto __69
 36350  	case OP_NOTPLUSI:
 36351  		goto __70
 36352  	case OP_NOTMINPLUS:
 36353  		goto __71
 36354  	case OP_NOTMINPLUSI:
 36355  		goto __72
 36356  	case OP_NOTQUERY:
 36357  		goto __73
 36358  	case OP_NOTQUERYI:
 36359  		goto __74
 36360  	case OP_NOTMINQUERY:
 36361  		goto __75
 36362  	case OP_NOTMINQUERYI:
 36363  		goto __76
 36364  
 36365  	// =====================================================================
 36366  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 36367  	//     are used when all the characters in the class have values in the range
 36368  	//     0-255, and either the matching is caseful, or the characters are in the
 36369  	//     range 0-127 when UTF processing is enabled. The only difference between
 36370  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 36371  	//     encountered.
 36372  
 36373  	case OP_NCLASS:
 36374  		goto __77
 36375  	case OP_CLASS:
 36376  		goto __78
 36377  	// Control never gets here
 36378  
 36379  	// =====================================================================
 36380  	// Match an extended character class. In the 8-bit library, this opcode is
 36381  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 36382  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 36383  	//     UTF is not supported.
 36384  
 36385  	case OP_XCLASS:
 36386  		goto __79
 36387  
 36388  	// =====================================================================
 36389  	// Match various character types when PCRE2_UCP is not set. These opcodes
 36390  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 36391  	//     tests are compiled.
 36392  
 36393  	case OP_NOT_DIGIT:
 36394  		goto __80
 36395  
 36396  	case OP_DIGIT:
 36397  		goto __81
 36398  
 36399  	case OP_NOT_WHITESPACE:
 36400  		goto __82
 36401  
 36402  	case OP_WHITESPACE:
 36403  		goto __83
 36404  
 36405  	case OP_NOT_WORDCHAR:
 36406  		goto __84
 36407  
 36408  	case OP_WORDCHAR:
 36409  		goto __85
 36410  
 36411  	case OP_ANYNL:
 36412  		goto __86
 36413  
 36414  	case OP_NOT_HSPACE:
 36415  		goto __87
 36416  
 36417  	case OP_HSPACE:
 36418  		goto __88
 36419  
 36420  	case OP_NOT_VSPACE:
 36421  		goto __89
 36422  
 36423  	case OP_VSPACE:
 36424  		goto __90
 36425  
 36426  	// =====================================================================
 36427  	// Check the next character by Unicode property. We will get here only
 36428  	//     if the support is in the binary; otherwise a compile-time error occurs.
 36429  
 36430  	case OP_PROP:
 36431  		goto __91
 36432  	case OP_NOTPROP:
 36433  		goto __92
 36434  
 36435  	// =====================================================================
 36436  	// Match an extended Unicode sequence. We will get here only if the support
 36437  	//     is in the binary; otherwise a compile-time error occurs.
 36438  
 36439  	case OP_EXTUNI:
 36440  		goto __93
 36441  
 36442  	// =====================================================================
 36443  	// Match a single character type repeatedly. Note that the property type
 36444  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 36445  	//     loop.
 36446  
 36447  	case OP_TYPEEXACT:
 36448  		goto __94
 36449  
 36450  	case OP_TYPEUPTO:
 36451  		goto __95
 36452  	case OP_TYPEMINUPTO:
 36453  		goto __96
 36454  
 36455  	case OP_TYPEPOSSTAR:
 36456  		goto __97
 36457  
 36458  	case OP_TYPEPOSPLUS:
 36459  		goto __98
 36460  
 36461  	case OP_TYPEPOSQUERY:
 36462  		goto __99
 36463  
 36464  	case OP_TYPEPOSUPTO:
 36465  		goto __100
 36466  
 36467  	case OP_TYPESTAR:
 36468  		goto __101
 36469  	case OP_TYPEMINSTAR:
 36470  		goto __102
 36471  	case OP_TYPEPLUS:
 36472  		goto __103
 36473  	case OP_TYPEMINPLUS:
 36474  		goto __104
 36475  	case OP_TYPEQUERY:
 36476  		goto __105
 36477  	case OP_TYPEMINQUERY:
 36478  		goto __106 // End of repeat character type processing
 36479  
 36480  	// =====================================================================
 36481  	// Match a back reference, possibly repeatedly. Look past the end of the
 36482  	//     item to see if there is repeat information following. The OP_REF and
 36483  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 36484  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 36485  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 36486  	//     the name refers, and use the first one that is set.
 36487  
 36488  	case OP_DNREF:
 36489  		goto __107
 36490  	case OP_DNREFI:
 36491  		goto __108
 36492  
 36493  	case OP_REF:
 36494  		goto __109
 36495  	case OP_REFI:
 36496  		goto __110
 36497  	// Control never gets here
 36498  
 36499  	// =========================================================================
 36500  	//           Opcodes for the start of various parenthesized items
 36501  	// =========================================================================
 36502  
 36503  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 36504  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 36505  	//     that is passed back with the end of the branch. If (*THEN) is within the
 36506  	//     current branch, and the branch is one of two or more alternatives (it
 36507  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 36508  	//     action, so convert the return code to NOMATCH, which will cause normal
 36509  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 36510  	//     outer alternative. This implements Perl's treatment of parenthesized
 36511  	//     groups, where a group not containing | does not affect the current
 36512  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 36513  
 36514  	// =====================================================================
 36515  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 36516  	//     bracket group, indicating that it may occur zero times. It may repeat
 36517  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 36518  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 36519  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 36520  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 36521  
 36522  	case OP_BRAZERO:
 36523  		goto __111
 36524  
 36525  	case OP_BRAMINZERO:
 36526  		goto __112
 36527  
 36528  	case OP_SKIPZERO:
 36529  		goto __113
 36530  
 36531  	// =====================================================================
 36532  	// Handle possessive brackets with an unlimited repeat. The end of these
 36533  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 36534  	//     going further in the pattern.
 36535  
 36536  	case OP_BRAPOSZERO:
 36537  		goto __114
 36538  
 36539  	case OP_BRAPOS:
 36540  		goto __115
 36541  	case OP_SBRAPOS:
 36542  		goto __116
 36543  
 36544  	case OP_CBRAPOS:
 36545  		goto __117
 36546  	case OP_SCBRAPOS:
 36547  		goto __118
 36548  
 36549  	// =====================================================================
 36550  	// Handle non-capturing brackets that cannot match an empty string. When we
 36551  	//     get to the final alternative within the brackets, as long as there are no
 36552  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 36553  	//     point. (Ideally we should test for a THEN within this group, but we don't
 36554  	//     have that information.) Don't do this if we are at the very top level,
 36555  	//     however, because that would make handling assertions and once-only brackets
 36556  	//     messier when there is nothing to go back to.
 36557  
 36558  	case OP_BRA:
 36559  		goto __119
 36560  
 36561  	// =====================================================================
 36562  	// Handle a capturing bracket, other than those that are possessive with an
 36563  	//     unlimited repeat.
 36564  
 36565  	case OP_CBRA:
 36566  		goto __120
 36567  	case OP_SCBRA:
 36568  		goto __121
 36569  
 36570  	// =====================================================================
 36571  	// Atomic groups and non-capturing brackets that can match an empty string
 36572  	//     must record a backtracking point and also set up a chained frame.
 36573  
 36574  	case OP_ONCE:
 36575  		goto __122
 36576  	case OP_SCRIPT_RUN:
 36577  		goto __123
 36578  	case OP_SBRA:
 36579  		goto __124
 36580  	// Control never reaches here.
 36581  
 36582  	// =====================================================================
 36583  	// Recursion either matches the current regex, or some subexpression. The
 36584  	//     offset data is the offset to the starting bracket from the start of the
 36585  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 36586  
 36587  	case OP_RECURSE:
 36588  		goto __125
 36589  	// Control never reaches here.
 36590  
 36591  	// =====================================================================
 36592  	// Positive assertions are like other groups except that PCRE doesn't allow
 36593  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 36594  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 36595  	//     captures and mark retained. Any other return is an error.
 36596  
 36597  	case OP_ASSERT:
 36598  		goto __126
 36599  	case OP_ASSERTBACK:
 36600  		goto __127
 36601  	case OP_ASSERT_NA:
 36602  		goto __128
 36603  	case OP_ASSERTBACK_NA:
 36604  		goto __129
 36605  
 36606  	// =====================================================================
 36607  	// Handle negative assertions. Loop for each non-matching branch as for
 36608  	//     positive assertions.
 36609  
 36610  	case OP_ASSERT_NOT:
 36611  		goto __130
 36612  	case OP_ASSERTBACK_NOT:
 36613  		goto __131
 36614  
 36615  	// =====================================================================
 36616  	// The callout item calls an external function, if one is provided, passing
 36617  	//     details of the match so far. This is mainly for debugging, though the
 36618  	//     function is able to force a failure.
 36619  
 36620  	case OP_CALLOUT:
 36621  		goto __132
 36622  	case OP_CALLOUT_STR:
 36623  		goto __133
 36624  
 36625  	// =====================================================================
 36626  	// Conditional group: compilation checked that there are no more than two
 36627  	//     branches. If the condition is false, skipping the first branch takes us
 36628  	//     past the end of the item if there is only one branch, but that's exactly
 36629  	//     what we want.
 36630  
 36631  	case OP_COND:
 36632  		goto __134
 36633  	case OP_SCOND:
 36634  		goto __135
 36635  
 36636  		// =========================================================================
 36637  		//                  End of start of parenthesis opcodes
 36638  		// =========================================================================
 36639  
 36640  	// =====================================================================
 36641  	// Move the subject pointer back. This occurs only at the start of each
 36642  	//     branch of a lookbehind assertion. If we are too close to the start to move
 36643  	//     back, fail. When working with UTF-8 we move back a number of characters,
 36644  	//     not bytes.
 36645  
 36646  	case OP_REVERSE:
 36647  		goto __136
 36648  
 36649  	// =====================================================================
 36650  	// An alternation is the end of a branch; scan along to find the end of the
 36651  	//     bracketed group.
 36652  
 36653  	case OP_ALT:
 36654  		goto __137
 36655  
 36656  	// =====================================================================
 36657  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 36658  	//     starting frame was added to the chained frames in order to remember the
 36659  	//     starting subject position for the group.
 36660  
 36661  	case OP_KET:
 36662  		goto __138
 36663  	case OP_KETRMIN:
 36664  		goto __139
 36665  	case OP_KETRMAX:
 36666  		goto __140
 36667  	case OP_KETRPOS:
 36668  		goto __141
 36669  
 36670  	// =====================================================================
 36671  	// Start and end of line assertions, not multiline mode.
 36672  
 36673  	case OP_CIRC:
 36674  		goto __142
 36675  
 36676  	case OP_SOD:
 36677  		goto __143
 36678  
 36679  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 36680  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 36681  
 36682  	case OP_DOLL:
 36683  		goto __144
 36684  
 36685  	// Fall through
 36686  	// Unconditional end of subject assertion (\z)
 36687  
 36688  	case OP_EOD:
 36689  		goto __145
 36690  
 36691  	// End of subject or ending \n assertion (\Z)
 36692  
 36693  	case OP_EODN:
 36694  		goto __146
 36695  
 36696  	// =====================================================================
 36697  	// Start and end of line assertions, multiline mode.
 36698  
 36699  	// Start of subject unless notbol, or after any newline except for one at
 36700  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 36701  
 36702  	case OP_CIRCM:
 36703  		goto __147
 36704  
 36705  	// Assert before any newline, or before end of subject unless noteol is
 36706  	//     set.
 36707  
 36708  	case OP_DOLLM:
 36709  		goto __148
 36710  
 36711  	// =====================================================================
 36712  	// Start of match assertion
 36713  
 36714  	case OP_SOM:
 36715  		goto __149
 36716  
 36717  	// =====================================================================
 36718  	// Reset the start of match point
 36719  
 36720  	case OP_SET_SOM:
 36721  		goto __150
 36722  
 36723  	// =====================================================================
 36724  	// Word boundary assertions. Find out if the previous and current
 36725  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 36726  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 36727  	//     not set. When it is set, use Unicode properties if available, even when not
 36728  	//     in UTF mode. Remember the earliest and latest consulted characters.
 36729  
 36730  	case OP_NOT_WORD_BOUNDARY:
 36731  		goto __151
 36732  	case OP_WORD_BOUNDARY:
 36733  		goto __152
 36734  
 36735  	// =====================================================================
 36736  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 36737  	//     pattern is successfully matched, we do not come back from RMATCH.
 36738  
 36739  	case OP_MARK:
 36740  		goto __153
 36741  
 36742  	case OP_FAIL:
 36743  		goto __154
 36744  
 36745  	// Record the current recursing group number in mb->verb_current_recurse
 36746  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 36747  	//     recurse processing to catch verbs from within the recursion.
 36748  
 36749  	case OP_COMMIT:
 36750  		goto __155
 36751  
 36752  	case OP_COMMIT_ARG:
 36753  		goto __156
 36754  
 36755  	case OP_PRUNE:
 36756  		goto __157
 36757  
 36758  	case OP_PRUNE_ARG:
 36759  		goto __158
 36760  
 36761  	case OP_SKIP:
 36762  		goto __159
 36763  
 36764  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 36765  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 36766  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 36767  	//     that failed and any that precede it (either they also failed, or were not
 36768  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 36769  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 36770  	//     set to the count of the one that failed.
 36771  
 36772  	case OP_SKIP_ARG:
 36773  		goto __160
 36774  
 36775  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 36776  	//     the branch in which it occurs can be determined.
 36777  
 36778  	case OP_THEN:
 36779  		goto __161
 36780  
 36781  	case OP_THEN_ARG:
 36782  		goto __162
 36783  
 36784  	// =====================================================================
 36785  	// There's been some horrible disaster. Arrival here can only mean there is
 36786  	//     something seriously wrong in the code above or the OP_xxx definitions.
 36787  
 36788  	default:
 36789  		goto __163
 36790  	}
 36791  	goto __13
 36792  
 36793  	// =====================================================================
 36794  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36795  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36796  	//     where we know the starting frame is at the top of the chained frames, in
 36797  	//     this case we have to search back for the relevant frame in case other types
 36798  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36799  	//     come innermost first, which matches the chain order. We can ignore this in
 36800  	//     a recursion, because captures are not passed out of recursions.
 36801  
 36802  __14:
 36803  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == DRECURSE_UNSET) {
 36804  		goto __164
 36805  	}
 36806  
 36807  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 36808  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36809  __165:
 36810  
 36811  	if !(offset == libc.CplUint64(uint64(0))) {
 36812  		goto __168
 36813  	}
 36814  	return -44
 36815  __168:
 36816  	;
 36817  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36818  	P = N - uintptr(frame_size)
 36819  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_CAPTURE|number) {
 36820  		goto __169
 36821  	}
 36822  	goto __167
 36823  __169:
 36824  	;
 36825  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36826  	goto __166
 36827  __166:
 36828  	goto __165
 36829  	goto __167
 36830  __167:
 36831  	;
 36832  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 36833  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 36834  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36835  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36836  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 36837  		goto __170
 36838  	}
 36839  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2)
 36840  __170:
 36841  	;
 36842  __164:
 36843  	;
 36844  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 36845  	goto __13
 36846  
 36847  	// =====================================================================
 36848  	// Real or forced end of the pattern, assertion, or recursion. In an
 36849  	//     assertion ACCEPT, update the last used pointer and remember the current
 36850  	//     frame so that the captures and mark can be fished out of it.
 36851  
 36852  __15:
 36853  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36854  		goto __171
 36855  	}
 36856  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36857  __171:
 36858  	;
 36859  	assert_accept_frame = F
 36860  	rrc = -999
 36861  	goto RETURN_SWITCH
 36862  
 36863  	// If recursing, we have to find the most recent recursion.
 36864  
 36865  __16:
 36866  __17:
 36867  
 36868  	// Handle end of a recursion.
 36869  
 36870  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 36871  		goto __172
 36872  	}
 36873  
 36874  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36875  __173:
 36876  
 36877  	if !(offset == libc.CplUint64(uint64(0))) {
 36878  		goto __176
 36879  	}
 36880  	return -44
 36881  __176:
 36882  	;
 36883  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36884  	P = N - uintptr(frame_size)
 36885  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_RECURSE) {
 36886  		goto __177
 36887  	}
 36888  	goto __175
 36889  __177:
 36890  	;
 36891  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36892  	goto __174
 36893  __174:
 36894  	goto __173
 36895  	goto __175
 36896  __175:
 36897  	;
 36898  
 36899  	// N is now the frame of the recursion; the previous frame is at the
 36900  	//       OP_RECURSE position. Go back there, copying the current subject position
 36901  	//       and mark, and the start_match position (\K might have changed it), and
 36902  	//       then move on past the OP_RECURSE.
 36903  
 36904  	(*Theapframe)(unsafe.Pointer(P)).Feptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36905  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 36906  	(*Theapframe)(unsafe.Pointer(P)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Fstart_match
 36907  	F = P
 36908  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 36909  	goto __11
 36910  __172:
 36911  	;
 36912  
 36913  	// Not a recursion. Fail for an empty string match if either PCRE2_NOTEMPTY
 36914  	//     is set, or if PCRE2_NOTEMPTY_ATSTART is set and we have matched at the
 36915  	//     start of the subject. In both cases, backtracking will then try other
 36916  	//     alternatives, if any.
 36917  
 36918  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(F)).Fstart_match && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY != Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Fstart_match == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset))) {
 36919  		goto __178
 36920  	}
 36921  	rrc = DMATCH_NOMATCH
 36922  	goto RETURN_SWITCH
 36923  __178:
 36924  	;
 36925  
 36926  	// Also fail if PCRE2_ENDANCHORED is set and the end of the match is not
 36927  	//     the end of the subject. After (*ACCEPT) we fail the entire match (at this
 36928  	//     position) but backtrack on reaching the end of the pattern.
 36929  
 36930  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 36931  		goto __179
 36932  	}
 36933  
 36934  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_END) {
 36935  		goto __180
 36936  	}
 36937  	rrc = DMATCH_NOMATCH
 36938  	goto RETURN_SWITCH
 36939  __180:
 36940  	;
 36941  
 36942  	return DMATCH_NOMATCH
 36943  __179:
 36944  	;
 36945  
 36946  	// We have a successful match of the whole pattern. Record the result and
 36947  	//     then do a direct return from the function. If there is space in the offset
 36948  	//     vector, set any pairs that follow the highest-numbered captured string but
 36949  	//     are less than the number of capturing groups in the pattern to PCRE2_UNSET.
 36950  	//     It is documented that this happens. "Gaps" are set to PCRE2_UNSET
 36951  	//     dynamically. It is only those at the end that need setting here.
 36952  
 36953  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr        // Record where we ended
 36954  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top // and how many extracts were taken
 36955  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark                 // and the last success mark
 36956  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36957  		goto __181
 36958  	}
 36959  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36960  __181:
 36961  	;
 36962  
 36963  	*(*Tsize_t)(unsafe.Pointer(ovector)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Fstart_match) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36964  	*(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36965  
 36966  	// Set i to the smaller of the sizes of the external and frame ovectors.
 36967  
 36968  	i = Tuint32_t(2 * func() int32 {
 36969  		if int32(top_bracket)+1 > int32(oveccount) {
 36970  			return int32(oveccount)
 36971  		}
 36972  		return int32(top_bracket) + 1
 36973  	}())
 36974  	libc.Xmemcpy(tls, ovector+uintptr(2)*8, F+128, uint64(i-Tuint32_t(2))*uint64(unsafe.Sizeof(Tsize_t(0))))
 36975  __182:
 36976  	if !(Tsize_t(libc.PreDecUint32(&i, 1)) >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top+uint64(2)) {
 36977  		goto __183
 36978  	}
 36979  	*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) = libc.CplUint64(uint64(0))
 36980  	goto __182
 36981  __183:
 36982  	;
 36983  	return DMATCH_MATCH // Note: NOT RRETURN
 36984  
 36985  	//=====================================================================
 36986  	// Match any single character type except newline; have to take care with
 36987  	//     CRLF newlines and partial matching.
 36988  
 36989  __18:
 36990  	if !(func() int32 {
 36991  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 36992  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 36993  		}
 36994  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 36995  	}() != 0) {
 36996  		goto __184
 36997  	}
 36998  	rrc = DMATCH_NOMATCH
 36999  	goto RETURN_SWITCH
 37000  __184:
 37001  	;
 37002  
 37003  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(1) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 37004  		goto __185
 37005  	}
 37006  
 37007  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37008  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37009  		goto __186
 37010  	}
 37011  	return -2
 37012  __186:
 37013  	;
 37014  __185:
 37015  	;
 37016  	// Fall through
 37017  
 37018  	// Match any single character whatsoever.
 37019  
 37020  __19:
 37021  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37022  		goto __187
 37023  	} /* DO NOT merge the Feptr++ here; it must */
 37024  	// not be updated before SCHECK_PARTIAL.
 37025  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37026  		goto __188
 37027  	}
 37028  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37029  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37030  		goto __189
 37031  	}
 37032  	return -2
 37033  __189:
 37034  	;
 37035  __188:
 37036  	;
 37037  
 37038  	rrc = DMATCH_NOMATCH
 37039  	goto RETURN_SWITCH
 37040  
 37041  __187:
 37042  	;
 37043  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37044  	if !(utf != 0) {
 37045  		goto __190
 37046  	}
 37047  __191:
 37048  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 37049  		goto __192
 37050  	}
 37051  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37052  	goto __191
 37053  __192:
 37054  	;
 37055  __190:
 37056  	;
 37057  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37058  	goto __13
 37059  
 37060  	// =====================================================================
 37061  	// Match a single code unit, even in UTF mode. This opcode really does
 37062  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 37063  	//     of course - the byte name is from pre-16 bit days.)
 37064  
 37065  __20:
 37066  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37067  		goto __193
 37068  	} /* DO NOT merge the Feptr++ here; it must */
 37069  	// not be updated before SCHECK_PARTIAL.
 37070  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37071  		goto __194
 37072  	}
 37073  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37074  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37075  		goto __195
 37076  	}
 37077  	return -2
 37078  __195:
 37079  	;
 37080  __194:
 37081  	;
 37082  
 37083  	rrc = DMATCH_NOMATCH
 37084  	goto RETURN_SWITCH
 37085  
 37086  __193:
 37087  	;
 37088  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37089  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37090  	goto __13
 37091  
 37092  	// =====================================================================
 37093  	// Match a single character, casefully
 37094  
 37095  __21:
 37096  	if !(utf != 0) {
 37097  		goto __196
 37098  	}
 37099  
 37100  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37101  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37102  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37103  	if !(fc >= 0xc0) {
 37104  		goto __198
 37105  	}
 37106  	if !(fc&0x20 == Tuint32_t(0)) {
 37107  		goto __199
 37108  	}
 37109  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37110  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37111  	goto __200
 37112  __199:
 37113  	if !(fc&0x10 == Tuint32_t(0)) {
 37114  		goto __201
 37115  	}
 37116  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37117  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37118  	goto __202
 37119  __201:
 37120  	if !(fc&0x08 == Tuint32_t(0)) {
 37121  		goto __203
 37122  	}
 37123  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37124  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37125  	goto __204
 37126  __203:
 37127  	if !(fc&0x04 == Tuint32_t(0)) {
 37128  		goto __205
 37129  	}
 37130  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37131  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37132  	goto __206
 37133  __205:
 37134  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37135  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37136  __206:
 37137  	;
 37138  __204:
 37139  	;
 37140  __202:
 37141  	;
 37142  __200:
 37143  	;
 37144  __198:
 37145  	;
 37146  
 37147  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 37148  		goto __207
 37149  	}
 37150  
 37151  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37152  		goto __208
 37153  	}
 37154  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37155  		goto __209
 37156  	}
 37157  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37158  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37159  		goto __210
 37160  	}
 37161  	return -2
 37162  __210:
 37163  	;
 37164  __209:
 37165  	;
 37166  __208:
 37167  	;
 37168  	/* Not SCHECK_PARTIAL() */
 37169  	rrc = DMATCH_NOMATCH
 37170  	goto RETURN_SWITCH
 37171  
 37172  __207:
 37173  	;
 37174  __211:
 37175  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(0)) {
 37176  		goto __213
 37177  	}
 37178  
 37179  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 37180  		goto __214
 37181  	}
 37182  	rrc = DMATCH_NOMATCH
 37183  	goto RETURN_SWITCH
 37184  __214:
 37185  	;
 37186  
 37187  	goto __212
 37188  __212:
 37189  	(*Theapframe)(unsafe.Pointer(F)).Flength--
 37190  	goto __211
 37191  	goto __213
 37192  __213:
 37193  	;
 37194  	goto __197
 37195  __196:
 37196  
 37197  	/* Not UTF mode */
 37198  
 37199  	if !((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1 < int64(1)) {
 37200  		goto __215
 37201  	}
 37202  
 37203  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37204  		goto __216
 37205  	}
 37206  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37207  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37208  		goto __217
 37209  	}
 37210  	return -2
 37211  __217:
 37212  	;
 37213  __216:
 37214  	;
 37215  	/* This one can use SCHECK_PARTIAL() */
 37216  	rrc = DMATCH_NOMATCH
 37217  	goto RETURN_SWITCH
 37218  
 37219  __215:
 37220  	;
 37221  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 37222  		goto __218
 37223  	}
 37224  	rrc = DMATCH_NOMATCH
 37225  	goto RETURN_SWITCH
 37226  __218:
 37227  	;
 37228  
 37229  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37230  __197:
 37231  	;
 37232  	goto __13
 37233  
 37234  	// =====================================================================
 37235  	// Match a single character, caselessly. If we are at the end of the
 37236  	//     subject, give up immediately. We get here only when the pattern character
 37237  	//     has at most one other case. Characters with more than two cases are coded
 37238  	//     as OP_PROP with the pseudo-property PT_CLIST.
 37239  
 37240  __22:
 37241  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37242  		goto __219
 37243  	}
 37244  
 37245  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37246  		goto __220
 37247  	}
 37248  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37249  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37250  		goto __221
 37251  	}
 37252  	return -2
 37253  __221:
 37254  	;
 37255  __220:
 37256  	;
 37257  
 37258  	rrc = DMATCH_NOMATCH
 37259  	goto RETURN_SWITCH
 37260  
 37261  __219:
 37262  	;
 37263  
 37264  	if !(utf != 0) {
 37265  		goto __222
 37266  	}
 37267  
 37268  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37269  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37270  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37271  	if !(fc >= 0xc0) {
 37272  		goto __224
 37273  	}
 37274  	if !(fc&0x20 == Tuint32_t(0)) {
 37275  		goto __225
 37276  	}
 37277  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37278  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37279  	goto __226
 37280  __225:
 37281  	if !(fc&0x10 == Tuint32_t(0)) {
 37282  		goto __227
 37283  	}
 37284  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37285  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37286  	goto __228
 37287  __227:
 37288  	if !(fc&0x08 == Tuint32_t(0)) {
 37289  		goto __229
 37290  	}
 37291  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37292  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37293  	goto __230
 37294  __229:
 37295  	if !(fc&0x04 == Tuint32_t(0)) {
 37296  		goto __231
 37297  	}
 37298  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37299  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37300  	goto __232
 37301  __231:
 37302  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37303  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37304  __232:
 37305  	;
 37306  __230:
 37307  	;
 37308  __228:
 37309  	;
 37310  __226:
 37311  	;
 37312  __224:
 37313  	;
 37314  
 37315  	// If the pattern character's value is < 128, we know that its other case
 37316  	//       (if any) is also < 128 (and therefore only one code unit long in all
 37317  	//       code-unit widths), so we can use the fast lookup table. We checked above
 37318  	//       that there is at least one character left in the subject.
 37319  
 37320  	if !(fc < Tuint32_t(128)) {
 37321  		goto __233
 37322  	}
 37323  
 37324  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37325  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc))))) {
 37326  		goto __235
 37327  	}
 37328  	rrc = DMATCH_NOMATCH
 37329  	goto RETURN_SWITCH
 37330  __235:
 37331  	;
 37332  
 37333  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37334  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37335  	goto __234
 37336  __233:
 37337  
 37338  	dc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37339  	if !(dc >= 0xc0) {
 37340  		goto __236
 37341  	}
 37342  	if !(dc&0x20 == Tuint32_t(0)) {
 37343  		goto __237
 37344  	}
 37345  	dc = dc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37346  	goto __238
 37347  __237:
 37348  	if !(dc&0x10 == Tuint32_t(0)) {
 37349  		goto __239
 37350  	}
 37351  	dc = dc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 37352  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 37353  	goto __240
 37354  __239:
 37355  	if !(dc&0x08 == Tuint32_t(0)) {
 37356  		goto __241
 37357  	}
 37358  	dc = dc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 37359  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 37360  	goto __242
 37361  __241:
 37362  	if !(dc&0x04 == Tuint32_t(0)) {
 37363  		goto __243
 37364  	}
 37365  	dc = dc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 37366  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 37367  	goto __244
 37368  __243:
 37369  	dc = dc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 37370  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 37371  __244:
 37372  	;
 37373  __242:
 37374  	;
 37375  __240:
 37376  	;
 37377  __238:
 37378  	;
 37379  __236:
 37380  	;
 37381  
 37382  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37383  	if !(dc != fc && dc != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) {
 37384  		goto __245
 37385  	}
 37386  	rrc = DMATCH_NOMATCH
 37387  	goto RETURN_SWITCH
 37388  __245:
 37389  	;
 37390  
 37391  __234:
 37392  	;
 37393  	goto __223
 37394  __222:
 37395  	if !(ucp != 0) {
 37396  		goto __246
 37397  	}
 37398  
 37399  	cc1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37400  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37401  	if !(fc < Tuint32_t(128)) {
 37402  		goto __248
 37403  	}
 37404  
 37405  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc1))))) {
 37406  		goto __250
 37407  	}
 37408  	rrc = DMATCH_NOMATCH
 37409  	goto RETURN_SWITCH
 37410  __250:
 37411  	;
 37412  
 37413  	goto __249
 37414  __248:
 37415  
 37416  	if !(cc1 != fc && cc1 != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) {
 37417  		goto __251
 37418  	}
 37419  	rrc = DMATCH_NOMATCH
 37420  	goto RETURN_SWITCH
 37421  __251:
 37422  	;
 37423  
 37424  __249:
 37425  	;
 37426  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37427  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37428  	goto __247
 37429  __246:
 37430  
 37431  	/* Not UTF or UCP mode; use the table for characters < 256. */
 37432  
 37433  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))))) !=
 37434  		int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))) {
 37435  		goto __252
 37436  	}
 37437  	rrc = DMATCH_NOMATCH
 37438  	goto RETURN_SWITCH
 37439  __252:
 37440  	;
 37441  
 37442  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37443  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37444  __247:
 37445  	;
 37446  __223:
 37447  	;
 37448  	goto __13
 37449  
 37450  	// =====================================================================
 37451  	// Match not a single character.
 37452  
 37453  __23:
 37454  __24:
 37455  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37456  		goto __253
 37457  	}
 37458  
 37459  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37460  		goto __254
 37461  	}
 37462  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37463  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37464  		goto __255
 37465  	}
 37466  	return -2
 37467  __255:
 37468  	;
 37469  __254:
 37470  	;
 37471  
 37472  	rrc = DMATCH_NOMATCH
 37473  	goto RETURN_SWITCH
 37474  
 37475  __253:
 37476  	;
 37477  
 37478  	if !(utf != 0) {
 37479  		goto __256
 37480  	}
 37481  
 37482  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37483  	ch = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 37484  	if !(ch >= 0xc0) {
 37485  		goto __258
 37486  	}
 37487  	if !(ch&0x20 == Tuint32_t(0)) {
 37488  		goto __259
 37489  	}
 37490  	ch = ch&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 37491  	goto __260
 37492  __259:
 37493  	if !(ch&0x10 == Tuint32_t(0)) {
 37494  		goto __261
 37495  	}
 37496  	ch = ch&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37498  	goto __262
 37499  __261:
 37500  	if !(ch&0x08 == Tuint32_t(0)) {
 37501  		goto __263
 37502  	}
 37503  	ch = ch&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37504  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 37505  	goto __264
 37506  __263:
 37507  	if !(ch&0x04 == Tuint32_t(0)) {
 37508  		goto __265
 37509  	}
 37510  	ch = ch&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37511  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 37512  	goto __266
 37513  __265:
 37514  	ch = ch&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37515  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 37516  __266:
 37517  	;
 37518  __264:
 37519  	;
 37520  __262:
 37521  	;
 37522  __260:
 37523  	;
 37524  __258:
 37525  	;
 37526  
 37527  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37528  	if !(fc >= 0xc0) {
 37529  		goto __267
 37530  	}
 37531  	if !(fc&0x20 == Tuint32_t(0)) {
 37532  		goto __268
 37533  	}
 37534  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37535  	goto __269
 37536  __268:
 37537  	if !(fc&0x10 == Tuint32_t(0)) {
 37538  		goto __270
 37539  	}
 37540  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 37541  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 37542  	goto __271
 37543  __270:
 37544  	if !(fc&0x08 == Tuint32_t(0)) {
 37545  		goto __272
 37546  	}
 37547  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 37548  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 37549  	goto __273
 37550  __272:
 37551  	if !(fc&0x04 == Tuint32_t(0)) {
 37552  		goto __274
 37553  	}
 37554  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 37555  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 37556  	goto __275
 37557  __274:
 37558  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 37559  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 37560  __275:
 37561  	;
 37562  __273:
 37563  	;
 37564  __271:
 37565  	;
 37566  __269:
 37567  	;
 37568  __267:
 37569  	;
 37570  
 37571  	if !(ch == fc) {
 37572  		goto __276
 37573  	}
 37574  
 37575  	rrc = DMATCH_NOMATCH
 37576  	goto RETURN_SWITCH
 37577  	// Caseful match
 37578  	goto __277
 37579  __276:
 37580  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37581  		goto __278
 37582  	} /* If caseless */
 37583  
 37584  	if !(ch > Tuint32_t(127)) {
 37585  		goto __279
 37586  	}
 37587  	ch = Tuint32_t(int32(ch) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 37588  	goto __280
 37589  __279:
 37590  	ch = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch))))
 37591  __280:
 37592  	;
 37593  	if !(ch == fc) {
 37594  		goto __281
 37595  	}
 37596  	rrc = DMATCH_NOMATCH
 37597  	goto RETURN_SWITCH
 37598  __281:
 37599  	;
 37600  
 37601  __278:
 37602  	;
 37603  __277:
 37604  	;
 37605  	goto __257
 37606  __256:
 37607  	if !(ucp != 0) {
 37608  		goto __282
 37609  	}
 37610  
 37611  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37612  	ch1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37613  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37614  
 37615  	if !(ch1 == fc) {
 37616  		goto __284
 37617  	}
 37618  
 37619  	rrc = DMATCH_NOMATCH
 37620  	goto RETURN_SWITCH
 37621  	// Caseful match
 37622  	goto __285
 37623  __284:
 37624  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37625  		goto __286
 37626  	} /* If caseless */
 37627  
 37628  	if !(ch1 > Tuint32_t(127)) {
 37629  		goto __287
 37630  	}
 37631  	ch1 = Tuint32_t(int32(ch1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch1)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 37632  	goto __288
 37633  __287:
 37634  	ch1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch1))))
 37635  __288:
 37636  	;
 37637  	if !(ch1 == fc) {
 37638  		goto __289
 37639  	}
 37640  	rrc = DMATCH_NOMATCH
 37641  	goto RETURN_SWITCH
 37642  __289:
 37643  	;
 37644  
 37645  __286:
 37646  	;
 37647  __285:
 37648  	;
 37649  	goto __283
 37650  __282:
 37651  
 37652  	/* Neither UTF nor UCP is set */
 37653  
 37654  	ch2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37655  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37656  	if !(ch2 == fc || int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI && Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch2)))) == fc) {
 37657  		goto __290
 37658  	}
 37659  	rrc = DMATCH_NOMATCH
 37660  	goto RETURN_SWITCH
 37661  __290:
 37662  	;
 37663  
 37664  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37665  __283:
 37666  	;
 37667  __257:
 37668  	;
 37669  	goto __13
 37670  
 37671  	// =====================================================================
 37672  	// Match a single character repeatedly.
 37673  
 37674  __25:
 37675  __26:
 37676  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 37677  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37678  	goto REPEATCHAR
 37679  
 37680  __27:
 37681  __28:
 37682  	reptype = REPTYPE_POS
 37683  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37684  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37685  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37686  	goto REPEATCHAR
 37687  
 37688  __29:
 37689  __30:
 37690  	reptype = REPTYPE_MAX
 37691  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37692  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37693  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37694  	goto REPEATCHAR
 37695  
 37696  __31:
 37697  __32:
 37698  	reptype = REPTYPE_MIN
 37699  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37700  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37701  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37702  	goto REPEATCHAR
 37703  
 37704  __33:
 37705  __34:
 37706  	reptype = REPTYPE_POS
 37707  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37708  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 37709  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37710  	goto REPEATCHAR
 37711  
 37712  __35:
 37713  __36:
 37714  	reptype = REPTYPE_POS
 37715  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 37716  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 37717  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37718  	goto REPEATCHAR
 37719  
 37720  __37:
 37721  __38:
 37722  	reptype = REPTYPE_POS
 37723  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37724  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 37725  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37726  	goto REPEATCHAR
 37727  
 37728  __39:
 37729  __40:
 37730  __41:
 37731  __42:
 37732  __43:
 37733  __44:
 37734  __45:
 37735  __46:
 37736  __47:
 37737  __48:
 37738  __49:
 37739  __50:
 37740  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 37741  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) < OP_STARI {
 37742  			return OP_STAR
 37743  		}
 37744  		return OP_STARI
 37745  	}())
 37746  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 37747  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 37748  	reptype = rep_typ[fc]
 37749  
 37750  	// Common code for all repeated single-character matches. We first check
 37751  	//     for the minimum number of characters. If the minimum equals the maximum, we
 37752  	//     are done. Otherwise, if minimizing, check the rest of the pattern for a
 37753  	//     match; if there isn't one, advance up to the maximum, one character at a
 37754  	//     time.
 37755  	//
 37756  	//     If maximizing, advance up to the maximum number of matching characters,
 37757  	//     until Feptr is past the end of the maximum run. If possessive, we are
 37758  	//     then done (no backing up). Otherwise, match at this position; anything
 37759  	//     other than no match is immediately returned. For nomatch, back up one
 37760  	//     character, unless we are matching \R and the last thing matched was
 37761  	//     \r\n, in which case, back up two code units until we reach the first
 37762  	//     optional character position.
 37763  	//
 37764  	//     The various UTF/non-UTF and caseful/caseless cases are handled separately,
 37765  	//     for speed.
 37766  
 37767  REPEATCHAR:
 37768  	if !(utf != 0) {
 37769  		goto __291
 37770  	}
 37771  
 37772  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37773  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37774  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37775  	if !(fc >= 0xc0) {
 37776  		goto __293
 37777  	}
 37778  	if !(fc&0x20 == Tuint32_t(0)) {
 37779  		goto __294
 37780  	}
 37781  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37782  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37783  	goto __295
 37784  __294:
 37785  	if !(fc&0x10 == Tuint32_t(0)) {
 37786  		goto __296
 37787  	}
 37788  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37789  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37790  	goto __297
 37791  __296:
 37792  	if !(fc&0x08 == Tuint32_t(0)) {
 37793  		goto __298
 37794  	}
 37795  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37796  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37797  	goto __299
 37798  __298:
 37799  	if !(fc&0x04 == Tuint32_t(0)) {
 37800  		goto __300
 37801  	}
 37802  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37803  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37804  	goto __301
 37805  __300:
 37806  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37807  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37808  __301:
 37809  	;
 37810  __299:
 37811  	;
 37812  __297:
 37813  	;
 37814  __295:
 37815  	;
 37816  __293:
 37817  	;
 37818  
 37819  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37820  
 37821  	// Handle multi-code-unit character matching, caseful and caseless.
 37822  
 37823  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(1)) {
 37824  		goto __302
 37825  	}
 37826  
 37827  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI && libc.AssignUint32(&othercase, Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != fc) {
 37828  		goto __303
 37829  	}
 37830  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(X_pcre2_ord2utf_8(tls, othercase, F+74))
 37831  	goto __304
 37832  __303:
 37833  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = uint64(0)
 37834  __304:
 37835  	;
 37836  
 37837  	i = Tuint32_t(1)
 37838  __305:
 37839  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 37840  		goto __307
 37841  	}
 37842  
 37843  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37844  		goto __308
 37845  	}
 37846  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37847  	goto __309
 37848  __308:
 37849  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37850  		goto __310
 37851  	}
 37852  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37853  	goto __311
 37854  __310:
 37855  
 37856  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37857  		goto __312
 37858  	}
 37859  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37860  		goto __313
 37861  	}
 37862  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37863  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37864  		goto __314
 37865  	}
 37866  	return -2
 37867  __314:
 37868  	;
 37869  __313:
 37870  	;
 37871  __312:
 37872  	;
 37873  
 37874  	rrc = DMATCH_NOMATCH
 37875  	goto RETURN_SWITCH
 37876  
 37877  __311:
 37878  	;
 37879  __309:
 37880  	;
 37881  	goto __306
 37882  __306:
 37883  	i++
 37884  	goto __305
 37885  	goto __307
 37886  __307:
 37887  	;
 37888  
 37889  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37890  		goto __315
 37891  	}
 37892  	goto __11
 37893  __315:
 37894  	;
 37895  
 37896  	if !(reptype == REPTYPE_MIN) {
 37897  		goto __316
 37898  	}
 37899  
 37900  __318:
 37901  
 37902  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37903  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM202
 37904  	goto MATCH_RECURSE
 37905  L_RM202:
 37906  	;
 37907  
 37908  	if !(rrc != DMATCH_NOMATCH) {
 37909  		goto __321
 37910  	}
 37911  	rrc = rrc
 37912  	goto RETURN_SWITCH
 37913  __321:
 37914  	;
 37915  
 37916  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37917  		goto __322
 37918  	}
 37919  	rrc = DMATCH_NOMATCH
 37920  	goto RETURN_SWITCH
 37921  __322:
 37922  	;
 37923  
 37924  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37925  		goto __323
 37926  	}
 37927  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37928  	goto __324
 37929  __323:
 37930  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37931  		goto __325
 37932  	}
 37933  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37934  	goto __326
 37935  __325:
 37936  
 37937  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37938  		goto __327
 37939  	}
 37940  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37941  		goto __328
 37942  	}
 37943  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37944  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37945  		goto __329
 37946  	}
 37947  	return -2
 37948  __329:
 37949  	;
 37950  __328:
 37951  	;
 37952  __327:
 37953  	;
 37954  
 37955  	rrc = DMATCH_NOMATCH
 37956  	goto RETURN_SWITCH
 37957  
 37958  __326:
 37959  	;
 37960  __324:
 37961  	;
 37962  	goto __319
 37963  __319:
 37964  	goto __318
 37965  	goto __320
 37966  __320:
 37967  	;
 37968  	// Control never gets here
 37969  	goto __317
 37970  __316: /* Maximize */
 37971  
 37972  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 37973  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 37974  __330:
 37975  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37976  		goto __332
 37977  	}
 37978  
 37979  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37980  		goto __333
 37981  	}
 37982  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37983  	goto __334
 37984  __333:
 37985  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37986  		goto __335
 37987  	}
 37988  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37989  	goto __336
 37990  __335:
 37991  
 37992  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37993  		goto __337
 37994  	}
 37995  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37996  		goto __338
 37997  	}
 37998  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37999  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38000  		goto __339
 38001  	}
 38002  	return -2
 38003  __339:
 38004  	;
 38005  __338:
 38006  	;
 38007  __337:
 38008  	;
 38009  
 38010  	goto __332
 38011  __336:
 38012  	;
 38013  __334:
 38014  	;
 38015  	goto __331
 38016  __331:
 38017  	i++
 38018  	goto __330
 38019  	goto __332
 38020  __332:
 38021  	;
 38022  
 38023  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 38024  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 38025  	//           go too far.
 38026  
 38027  	if !(reptype != REPTYPE_POS) {
 38028  		goto __340
 38029  	}
 38030  __341:
 38031  
 38032  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38033  		goto __344
 38034  	}
 38035  	goto __343
 38036  __344:
 38037  	;
 38038  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38039  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM203
 38040  	goto MATCH_RECURSE
 38041  L_RM203:
 38042  	;
 38043  
 38044  	if !(rrc != DMATCH_NOMATCH) {
 38045  		goto __345
 38046  	}
 38047  	rrc = rrc
 38048  	goto RETURN_SWITCH
 38049  __345:
 38050  	;
 38051  
 38052  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38053  __346:
 38054  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 38055  		goto __347
 38056  	}
 38057  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38058  	goto __346
 38059  __347:
 38060  	;
 38061  	goto __342
 38062  __342:
 38063  	goto __341
 38064  	goto __343
 38065  __343:
 38066  	;
 38067  __340:
 38068  	;
 38069  __317:
 38070  	;
 38071  	goto __13 // End of repeated wide character handling
 38072  __302:
 38073  	;
 38074  
 38075  	// Length of UTF character is 1. Put it into the preserved variable and
 38076  	//       fall through to the non-UTF code.
 38077  
 38078  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = fc
 38079  	goto __292
 38080  __291:
 38081  
 38082  	// When not in UTF mode, load a single-code-unit character. Then proceed as
 38083  	//     above, using Unicode casing if either UTF or UCP is set.
 38084  
 38085  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38086  __292:
 38087  	;
 38088  
 38089  	// Caseless comparison
 38090  
 38091  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI) {
 38092  		goto __348
 38093  	}
 38094  
 38095  	if !(ucp != 0 && !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) {
 38096  		goto __350
 38097  	}
 38098  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38099  	goto __351
 38100  __350:
 38101  	// Lc will be < 128 in UTF-8 mode.
 38102  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))))))
 38103  __351:
 38104  	;
 38105  
 38106  	i = Tuint32_t(1)
 38107  __352:
 38108  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38109  		goto __354
 38110  	}
 38111  	// Faster than PCRE2_UCHAR
 38112  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38113  		goto __355
 38114  	}
 38115  
 38116  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38117  		goto __356
 38118  	}
 38119  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38120  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38121  		goto __357
 38122  	}
 38123  	return -2
 38124  __357:
 38125  	;
 38126  __356:
 38127  	;
 38128  
 38129  	rrc = DMATCH_NOMATCH
 38130  	goto RETURN_SWITCH
 38131  
 38132  __355:
 38133  	;
 38134  	cc2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38135  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc2 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc2) {
 38136  		goto __358
 38137  	}
 38138  	rrc = DMATCH_NOMATCH
 38139  	goto RETURN_SWITCH
 38140  __358:
 38141  	;
 38142  
 38143  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38144  	goto __353
 38145  __353:
 38146  	i++
 38147  	goto __352
 38148  	goto __354
 38149  __354:
 38150  	;
 38151  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38152  		goto __359
 38153  	}
 38154  	goto __11
 38155  __359:
 38156  	;
 38157  
 38158  	if !(reptype == REPTYPE_MIN) {
 38159  		goto __360
 38160  	}
 38161  
 38162  __362:
 38163  	/* Faster than PCRE2_UCHAR */
 38164  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38165  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM25
 38166  	goto MATCH_RECURSE
 38167  L_RM25:
 38168  	;
 38169  
 38170  	if !(rrc != DMATCH_NOMATCH) {
 38171  		goto __365
 38172  	}
 38173  	rrc = rrc
 38174  	goto RETURN_SWITCH
 38175  __365:
 38176  	;
 38177  
 38178  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38179  		goto __366
 38180  	}
 38181  	rrc = DMATCH_NOMATCH
 38182  	goto RETURN_SWITCH
 38183  __366:
 38184  	;
 38185  
 38186  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38187  		goto __367
 38188  	}
 38189  
 38190  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38191  		goto __368
 38192  	}
 38193  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38194  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38195  		goto __369
 38196  	}
 38197  	return -2
 38198  __369:
 38199  	;
 38200  __368:
 38201  	;
 38202  
 38203  	rrc = DMATCH_NOMATCH
 38204  	goto RETURN_SWITCH
 38205  
 38206  __367:
 38207  	;
 38208  	cc3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38209  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc3 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc3) {
 38210  		goto __370
 38211  	}
 38212  	rrc = DMATCH_NOMATCH
 38213  	goto RETURN_SWITCH
 38214  __370:
 38215  	;
 38216  
 38217  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38218  	goto __363
 38219  __363:
 38220  	goto __362
 38221  	goto __364
 38222  __364:
 38223  	;
 38224  	// Control never gets here
 38225  	goto __361
 38226  __360: /* Maximize */
 38227  
 38228  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38229  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 38230  __371:
 38231  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38232  		goto __373
 38233  	}
 38234  	// Faster than PCRE2_UCHAR
 38235  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38236  		goto __374
 38237  	}
 38238  
 38239  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38240  		goto __375
 38241  	}
 38242  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38243  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38244  		goto __376
 38245  	}
 38246  	return -2
 38247  __376:
 38248  	;
 38249  __375:
 38250  	;
 38251  
 38252  	goto __373
 38253  __374:
 38254  	;
 38255  	cc4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38256  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc4 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc4) {
 38257  		goto __377
 38258  	}
 38259  	goto __373
 38260  __377:
 38261  	;
 38262  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38263  	goto __372
 38264  __372:
 38265  	i++
 38266  	goto __371
 38267  	goto __373
 38268  __373:
 38269  	;
 38270  	if !(reptype != REPTYPE_POS) {
 38271  		goto __378
 38272  	}
 38273  __379:
 38274  
 38275  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38276  		goto __382
 38277  	}
 38278  	goto __381
 38279  __382:
 38280  	;
 38281  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38282  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM26
 38283  	goto MATCH_RECURSE
 38284  L_RM26:
 38285  	;
 38286  
 38287  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38288  	if !(rrc != DMATCH_NOMATCH) {
 38289  		goto __383
 38290  	}
 38291  	rrc = rrc
 38292  	goto RETURN_SWITCH
 38293  __383:
 38294  	;
 38295  
 38296  	goto __380
 38297  __380:
 38298  	goto __379
 38299  	goto __381
 38300  __381:
 38301  	;
 38302  __378:
 38303  	;
 38304  __361:
 38305  	;
 38306  	goto __349
 38307  __348:
 38308  
 38309  	i = Tuint32_t(1)
 38310  __384:
 38311  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38312  		goto __386
 38313  	}
 38314  
 38315  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38316  		goto __387
 38317  	}
 38318  
 38319  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38320  		goto __388
 38321  	}
 38322  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38323  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38324  		goto __389
 38325  	}
 38326  	return -2
 38327  __389:
 38328  	;
 38329  __388:
 38330  	;
 38331  
 38332  	rrc = DMATCH_NOMATCH
 38333  	goto RETURN_SWITCH
 38334  
 38335  __387:
 38336  	;
 38337  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38338  		goto __390
 38339  	}
 38340  	rrc = DMATCH_NOMATCH
 38341  	goto RETURN_SWITCH
 38342  __390:
 38343  	;
 38344  
 38345  	goto __385
 38346  __385:
 38347  	i++
 38348  	goto __384
 38349  	goto __386
 38350  __386:
 38351  	;
 38352  
 38353  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38354  		goto __391
 38355  	}
 38356  	goto __11
 38357  __391:
 38358  	;
 38359  
 38360  	if !(reptype == REPTYPE_MIN) {
 38361  		goto __392
 38362  	}
 38363  
 38364  __394:
 38365  
 38366  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38367  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM27
 38368  	goto MATCH_RECURSE
 38369  L_RM27:
 38370  	;
 38371  
 38372  	if !(rrc != DMATCH_NOMATCH) {
 38373  		goto __397
 38374  	}
 38375  	rrc = rrc
 38376  	goto RETURN_SWITCH
 38377  __397:
 38378  	;
 38379  
 38380  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38381  		goto __398
 38382  	}
 38383  	rrc = DMATCH_NOMATCH
 38384  	goto RETURN_SWITCH
 38385  __398:
 38386  	;
 38387  
 38388  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38389  		goto __399
 38390  	}
 38391  
 38392  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38393  		goto __400
 38394  	}
 38395  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38396  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38397  		goto __401
 38398  	}
 38399  	return -2
 38400  __401:
 38401  	;
 38402  __400:
 38403  	;
 38404  
 38405  	rrc = DMATCH_NOMATCH
 38406  	goto RETURN_SWITCH
 38407  
 38408  __399:
 38409  	;
 38410  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38411  		goto __402
 38412  	}
 38413  	rrc = DMATCH_NOMATCH
 38414  	goto RETURN_SWITCH
 38415  __402:
 38416  	;
 38417  
 38418  	goto __395
 38419  __395:
 38420  	goto __394
 38421  	goto __396
 38422  __396:
 38423  	;
 38424  	// Control never gets here
 38425  	goto __393
 38426  __392: /* Maximize */
 38427  
 38428  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38429  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 38430  __403:
 38431  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38432  		goto __405
 38433  	}
 38434  
 38435  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38436  		goto __406
 38437  	}
 38438  
 38439  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38440  		goto __407
 38441  	}
 38442  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38443  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38444  		goto __408
 38445  	}
 38446  	return -2
 38447  __408:
 38448  	;
 38449  __407:
 38450  	;
 38451  
 38452  	goto __405
 38453  __406:
 38454  	;
 38455  
 38456  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38457  		goto __409
 38458  	}
 38459  	goto __405
 38460  __409:
 38461  	;
 38462  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38463  	goto __404
 38464  __404:
 38465  	i++
 38466  	goto __403
 38467  	goto __405
 38468  __405:
 38469  	;
 38470  
 38471  	if !(reptype != REPTYPE_POS) {
 38472  		goto __410
 38473  	}
 38474  __411:
 38475  
 38476  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38477  		goto __414
 38478  	}
 38479  	goto __413
 38480  __414:
 38481  	;
 38482  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38483  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM28
 38484  	goto MATCH_RECURSE
 38485  L_RM28:
 38486  	;
 38487  
 38488  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38489  	if !(rrc != DMATCH_NOMATCH) {
 38490  		goto __415
 38491  	}
 38492  	rrc = rrc
 38493  	goto RETURN_SWITCH
 38494  __415:
 38495  	;
 38496  
 38497  	goto __412
 38498  __412:
 38499  	goto __411
 38500  	goto __413
 38501  __413:
 38502  	;
 38503  __410:
 38504  	;
 38505  __393:
 38506  	;
 38507  __349:
 38508  	;
 38509  	goto __13
 38510  
 38511  	// =====================================================================
 38512  	// Match a negated single one-byte character repeatedly. This is almost a
 38513  	//     repeat of the code for a repeated single character, but I haven't found a
 38514  	//     nice way of commoning these up that doesn't require a test of the
 38515  	//     positive/negative option for each character match. Maybe that wouldn't add
 38516  	//     very much to the time taken, but character matching *is* what this is all
 38517  	//     about...
 38518  
 38519  __51:
 38520  __52:
 38521  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 38522  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38523  	goto REPEATNOTCHAR
 38524  
 38525  __53:
 38526  __54:
 38527  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38528  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38529  	reptype = REPTYPE_MAX
 38530  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38531  	goto REPEATNOTCHAR
 38532  
 38533  __55:
 38534  __56:
 38535  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38536  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38537  	reptype = REPTYPE_MIN
 38538  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38539  	goto REPEATNOTCHAR
 38540  
 38541  __57:
 38542  __58:
 38543  	reptype = REPTYPE_POS
 38544  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38545  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 38546  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38547  	goto REPEATNOTCHAR
 38548  
 38549  __59:
 38550  __60:
 38551  	reptype = REPTYPE_POS
 38552  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 38553  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 38554  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38555  	goto REPEATNOTCHAR
 38556  
 38557  __61:
 38558  __62:
 38559  	reptype = REPTYPE_POS
 38560  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38561  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 38562  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38563  	goto REPEATNOTCHAR
 38564  
 38565  __63:
 38566  __64:
 38567  	reptype = REPTYPE_POS
 38568  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38569  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38570  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38571  	goto REPEATNOTCHAR
 38572  
 38573  __65:
 38574  __66:
 38575  __67:
 38576  __68:
 38577  __69:
 38578  __70:
 38579  __71:
 38580  __72:
 38581  __73:
 38582  __74:
 38583  __75:
 38584  __76:
 38585  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 38586  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI {
 38587  			return OP_NOTSTARI
 38588  		}
 38589  		return OP_NOTSTAR
 38590  	}())
 38591  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 38592  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 38593  	reptype = rep_typ[fc]
 38594  
 38595  	// Common code for all repeated single-character non-matches.
 38596  
 38597  REPEATNOTCHAR:
 38598  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38599  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) >= 0xc0) {
 38600  		goto __416
 38601  	}
 38602  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x20 == Tuint32_t(0)) {
 38603  		goto __417
 38604  	}
 38605  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 38606  	goto __418
 38607  __417:
 38608  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x10 == Tuint32_t(0)) {
 38609  		goto __419
 38610  	}
 38611  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 38612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 38613  	goto __420
 38614  __419:
 38615  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x08 == Tuint32_t(0)) {
 38616  		goto __421
 38617  	}
 38618  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 38619  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 38620  	goto __422
 38621  __421:
 38622  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x04 == Tuint32_t(0)) {
 38623  		goto __423
 38624  	}
 38625  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 38626  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 38627  	goto __424
 38628  __423:
 38629  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 38630  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 38631  __424:
 38632  	;
 38633  __422:
 38634  	;
 38635  __420:
 38636  	;
 38637  __418:
 38638  	;
 38639  __416:
 38640  	;
 38641  
 38642  	// The code is duplicated for the caseless and caseful cases, for speed,
 38643  	//     since matching characters is likely to be quite common. First, ensure the
 38644  	//     minimum number of matches are present. If Lmin = Lmax, we are done.
 38645  	//     Otherwise, if minimizing, keep trying the rest of the expression and
 38646  	//     advancing one matching character if failing, up to the maximum.
 38647  	//     Alternatively, if maximizing, find the maximum number of characters and
 38648  	//     work backwards.
 38649  
 38650  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI) {
 38651  		goto __425
 38652  	} /* Caseless */
 38653  
 38654  	if !((utf != 0 || ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) {
 38655  		goto __427
 38656  	}
 38657  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38658  	goto __428
 38659  __427:
 38660  
 38661  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))))))
 38662  __428:
 38663  	; // Other case from table
 38664  
 38665  	if !(utf != 0) {
 38666  		goto __429
 38667  	}
 38668  
 38669  	i = Tuint32_t(1)
 38670  __431:
 38671  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38672  		goto __433
 38673  	}
 38674  
 38675  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38676  		goto __434
 38677  	}
 38678  
 38679  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38680  		goto __435
 38681  	}
 38682  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38683  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38684  		goto __436
 38685  	}
 38686  	return -2
 38687  __436:
 38688  	;
 38689  __435:
 38690  	;
 38691  
 38692  	rrc = DMATCH_NOMATCH
 38693  	goto RETURN_SWITCH
 38694  
 38695  __434:
 38696  	;
 38697  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38698  	if !(d >= 0xc0) {
 38699  		goto __437
 38700  	}
 38701  	if !(d&0x20 == Tuint32_t(0)) {
 38702  		goto __438
 38703  	}
 38704  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38705  	goto __439
 38706  __438:
 38707  	if !(d&0x10 == Tuint32_t(0)) {
 38708  		goto __440
 38709  	}
 38710  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 38711  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 38712  	goto __441
 38713  __440:
 38714  	if !(d&0x08 == Tuint32_t(0)) {
 38715  		goto __442
 38716  	}
 38717  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 38718  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 38719  	goto __443
 38720  __442:
 38721  	if !(d&0x04 == Tuint32_t(0)) {
 38722  		goto __444
 38723  	}
 38724  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 38725  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 38726  	goto __445
 38727  __444:
 38728  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 38729  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 38730  __445:
 38731  	;
 38732  __443:
 38733  	;
 38734  __441:
 38735  	;
 38736  __439:
 38737  	;
 38738  __437:
 38739  	;
 38740  
 38741  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d) {
 38742  		goto __446
 38743  	}
 38744  	rrc = DMATCH_NOMATCH
 38745  	goto RETURN_SWITCH
 38746  __446:
 38747  	;
 38748  
 38749  	goto __432
 38750  __432:
 38751  	i++
 38752  	goto __431
 38753  	goto __433
 38754  __433:
 38755  	;
 38756  	goto __430
 38757  __429:
 38758  
 38759  	/* Not UTF mode */
 38760  
 38761  	i = Tuint32_t(1)
 38762  __447:
 38763  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38764  		goto __449
 38765  	}
 38766  
 38767  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38768  		goto __450
 38769  	}
 38770  
 38771  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38772  		goto __451
 38773  	}
 38774  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38775  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38776  		goto __452
 38777  	}
 38778  	return -2
 38779  __452:
 38780  	;
 38781  __451:
 38782  	;
 38783  
 38784  	rrc = DMATCH_NOMATCH
 38785  	goto RETURN_SWITCH
 38786  
 38787  __450:
 38788  	;
 38789  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38790  		goto __453
 38791  	}
 38792  	rrc = DMATCH_NOMATCH
 38793  	goto RETURN_SWITCH
 38794  __453:
 38795  	;
 38796  
 38797  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38798  	goto __448
 38799  __448:
 38800  	i++
 38801  	goto __447
 38802  	goto __449
 38803  __449:
 38804  	;
 38805  __430:
 38806  	;
 38807  
 38808  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38809  		goto __454
 38810  	}
 38811  	goto __11
 38812  __454:
 38813  	; // Finished for exact count
 38814  
 38815  	if !(reptype == REPTYPE_MIN) {
 38816  		goto __455
 38817  	}
 38818  
 38819  	if !(utf != 0) {
 38820  		goto __457
 38821  	}
 38822  
 38823  __459:
 38824  
 38825  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38826  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM204
 38827  	goto MATCH_RECURSE
 38828  L_RM204:
 38829  	;
 38830  
 38831  	if !(rrc != DMATCH_NOMATCH) {
 38832  		goto __462
 38833  	}
 38834  	rrc = rrc
 38835  	goto RETURN_SWITCH
 38836  __462:
 38837  	;
 38838  
 38839  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38840  		goto __463
 38841  	}
 38842  	rrc = DMATCH_NOMATCH
 38843  	goto RETURN_SWITCH
 38844  __463:
 38845  	;
 38846  
 38847  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38848  		goto __464
 38849  	}
 38850  
 38851  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38852  		goto __465
 38853  	}
 38854  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38855  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38856  		goto __466
 38857  	}
 38858  	return -2
 38859  __466:
 38860  	;
 38861  __465:
 38862  	;
 38863  
 38864  	rrc = DMATCH_NOMATCH
 38865  	goto RETURN_SWITCH
 38866  
 38867  __464:
 38868  	;
 38869  	d1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38870  	if !(d1 >= 0xc0) {
 38871  		goto __467
 38872  	}
 38873  	if !(d1&0x20 == Tuint32_t(0)) {
 38874  		goto __468
 38875  	}
 38876  	d1 = d1&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38877  	goto __469
 38878  __468:
 38879  	if !(d1&0x10 == Tuint32_t(0)) {
 38880  		goto __470
 38881  	}
 38882  	d1 = d1&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 38883  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 38884  	goto __471
 38885  __470:
 38886  	if !(d1&0x08 == Tuint32_t(0)) {
 38887  		goto __472
 38888  	}
 38889  	d1 = d1&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 38890  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 38891  	goto __473
 38892  __472:
 38893  	if !(d1&0x04 == Tuint32_t(0)) {
 38894  		goto __474
 38895  	}
 38896  	d1 = d1&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 38897  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 38898  	goto __475
 38899  __474:
 38900  	d1 = d1&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 38901  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 38902  __475:
 38903  	;
 38904  __473:
 38905  	;
 38906  __471:
 38907  	;
 38908  __469:
 38909  	;
 38910  __467:
 38911  	;
 38912  
 38913  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d1 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d1) {
 38914  		goto __476
 38915  	}
 38916  	rrc = DMATCH_NOMATCH
 38917  	goto RETURN_SWITCH
 38918  __476:
 38919  	;
 38920  
 38921  	goto __460
 38922  __460:
 38923  	goto __459
 38924  	goto __461
 38925  __461:
 38926  	;
 38927  	goto __458
 38928  __457:
 38929  
 38930  	/* Not UTF mode */
 38931  
 38932  __477:
 38933  
 38934  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38935  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM29
 38936  	goto MATCH_RECURSE
 38937  L_RM29:
 38938  	;
 38939  
 38940  	if !(rrc != DMATCH_NOMATCH) {
 38941  		goto __480
 38942  	}
 38943  	rrc = rrc
 38944  	goto RETURN_SWITCH
 38945  __480:
 38946  	;
 38947  
 38948  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38949  		goto __481
 38950  	}
 38951  	rrc = DMATCH_NOMATCH
 38952  	goto RETURN_SWITCH
 38953  __481:
 38954  	;
 38955  
 38956  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38957  		goto __482
 38958  	}
 38959  
 38960  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38961  		goto __483
 38962  	}
 38963  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38964  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38965  		goto __484
 38966  	}
 38967  	return -2
 38968  __484:
 38969  	;
 38970  __483:
 38971  	;
 38972  
 38973  	rrc = DMATCH_NOMATCH
 38974  	goto RETURN_SWITCH
 38975  
 38976  __482:
 38977  	;
 38978  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38979  		goto __485
 38980  	}
 38981  	rrc = DMATCH_NOMATCH
 38982  	goto RETURN_SWITCH
 38983  __485:
 38984  	;
 38985  
 38986  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38987  	goto __478
 38988  __478:
 38989  	goto __477
 38990  	goto __479
 38991  __479:
 38992  	;
 38993  __458:
 38994  	;
 38995  	// Control never gets here
 38996  	goto __456
 38997  __455:
 38998  
 38999  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 39000  
 39001  	if !(utf != 0) {
 39002  		goto __486
 39003  	}
 39004  
 39005  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39006  __488:
 39007  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39008  		goto __490
 39009  	}
 39010  
 39011  	len = 1
 39012  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39013  		goto __491
 39014  	}
 39015  
 39016  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39017  		goto __492
 39018  	}
 39019  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39020  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39021  		goto __493
 39022  	}
 39023  	return -2
 39024  __493:
 39025  	;
 39026  __492:
 39027  	;
 39028  
 39029  	goto __490
 39030  __491:
 39031  	;
 39032  	d2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39033  	if !(d2 >= 0xc0) {
 39034  		goto __494
 39035  	}
 39036  	if !(d2&0x20 == Tuint32_t(0)) {
 39037  		goto __495
 39038  	}
 39039  	d2 = d2&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39040  	len++
 39041  	goto __496
 39042  __495:
 39043  	if !(d2&0x10 == Tuint32_t(0)) {
 39044  		goto __497
 39045  	}
 39046  	d2 = d2&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39047  	len = len + 2
 39048  	goto __498
 39049  __497:
 39050  	if !(d2&0x08 == Tuint32_t(0)) {
 39051  		goto __499
 39052  	}
 39053  	d2 = d2&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39054  	len = len + 3
 39055  	goto __500
 39056  __499:
 39057  	if !(d2&0x04 == Tuint32_t(0)) {
 39058  		goto __501
 39059  	}
 39060  	d2 = d2&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39061  	len = len + 4
 39062  	goto __502
 39063  __501:
 39064  	d2 = d2&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 39065  	len = len + 5
 39066  __502:
 39067  	;
 39068  __500:
 39069  	;
 39070  __498:
 39071  	;
 39072  __496:
 39073  	;
 39074  __494:
 39075  	;
 39076  
 39077  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d2 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d2) {
 39078  		goto __503
 39079  	}
 39080  	goto __490
 39081  __503:
 39082  	;
 39083  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len)
 39084  	goto __489
 39085  __489:
 39086  	i++
 39087  	goto __488
 39088  	goto __490
 39089  __490:
 39090  	;
 39091  
 39092  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39093  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39094  	//           go too far.
 39095  
 39096  	if !(reptype != REPTYPE_POS) {
 39097  		goto __504
 39098  	}
 39099  __505:
 39100  
 39101  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39102  		goto __508
 39103  	}
 39104  	goto __507
 39105  __508:
 39106  	;
 39107  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39108  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM205
 39109  	goto MATCH_RECURSE
 39110  L_RM205:
 39111  	;
 39112  
 39113  	if !(rrc != DMATCH_NOMATCH) {
 39114  		goto __509
 39115  	}
 39116  	rrc = rrc
 39117  	goto RETURN_SWITCH
 39118  __509:
 39119  	;
 39120  
 39121  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39122  __510:
 39123  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39124  		goto __511
 39125  	}
 39126  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39127  	goto __510
 39128  __511:
 39129  	;
 39130  	goto __506
 39131  __506:
 39132  	goto __505
 39133  	goto __507
 39134  __507:
 39135  	;
 39136  __504:
 39137  	;
 39138  	goto __487
 39139  __486:
 39140  
 39141  	/* Not UTF mode */
 39142  
 39143  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39144  __512:
 39145  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39146  		goto __514
 39147  	}
 39148  
 39149  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39150  		goto __515
 39151  	}
 39152  
 39153  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39154  		goto __516
 39155  	}
 39156  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39157  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39158  		goto __517
 39159  	}
 39160  	return -2
 39161  __517:
 39162  	;
 39163  __516:
 39164  	;
 39165  
 39166  	goto __514
 39167  __515:
 39168  	;
 39169  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39170  		goto __518
 39171  	}
 39172  	goto __514
 39173  __518:
 39174  	;
 39175  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39176  	goto __513
 39177  __513:
 39178  	i++
 39179  	goto __512
 39180  	goto __514
 39181  __514:
 39182  	;
 39183  	if !(reptype != REPTYPE_POS) {
 39184  		goto __519
 39185  	}
 39186  __520:
 39187  
 39188  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39189  		goto __523
 39190  	}
 39191  	goto __522
 39192  __523:
 39193  	;
 39194  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39195  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM30
 39196  	goto MATCH_RECURSE
 39197  L_RM30:
 39198  	;
 39199  
 39200  	if !(rrc != DMATCH_NOMATCH) {
 39201  		goto __524
 39202  	}
 39203  	rrc = rrc
 39204  	goto RETURN_SWITCH
 39205  __524:
 39206  	;
 39207  
 39208  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39209  	goto __521
 39210  __521:
 39211  	goto __520
 39212  	goto __522
 39213  __522:
 39214  	;
 39215  __519:
 39216  	;
 39217  __487:
 39218  	;
 39219  __456:
 39220  	;
 39221  	goto __426
 39222  __425:
 39223  
 39224  	if !(utf != 0) {
 39225  		goto __525
 39226  	}
 39227  
 39228  	i = Tuint32_t(1)
 39229  __527:
 39230  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39231  		goto __529
 39232  	}
 39233  
 39234  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39235  		goto __530
 39236  	}
 39237  
 39238  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39239  		goto __531
 39240  	}
 39241  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39242  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39243  		goto __532
 39244  	}
 39245  	return -2
 39246  __532:
 39247  	;
 39248  __531:
 39249  	;
 39250  
 39251  	rrc = DMATCH_NOMATCH
 39252  	goto RETURN_SWITCH
 39253  
 39254  __530:
 39255  	;
 39256  	d3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39257  	if !(d3 >= 0xc0) {
 39258  		goto __533
 39259  	}
 39260  	if !(d3&0x20 == Tuint32_t(0)) {
 39261  		goto __534
 39262  	}
 39263  	d3 = d3&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39264  	goto __535
 39265  __534:
 39266  	if !(d3&0x10 == Tuint32_t(0)) {
 39267  		goto __536
 39268  	}
 39269  	d3 = d3&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39270  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39271  	goto __537
 39272  __536:
 39273  	if !(d3&0x08 == Tuint32_t(0)) {
 39274  		goto __538
 39275  	}
 39276  	d3 = d3&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39277  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39278  	goto __539
 39279  __538:
 39280  	if !(d3&0x04 == Tuint32_t(0)) {
 39281  		goto __540
 39282  	}
 39283  	d3 = d3&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39284  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39285  	goto __541
 39286  __540:
 39287  	d3 = d3&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39288  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39289  __541:
 39290  	;
 39291  __539:
 39292  	;
 39293  __537:
 39294  	;
 39295  __535:
 39296  	;
 39297  __533:
 39298  	;
 39299  
 39300  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d3) {
 39301  		goto __542
 39302  	}
 39303  	rrc = DMATCH_NOMATCH
 39304  	goto RETURN_SWITCH
 39305  __542:
 39306  	;
 39307  
 39308  	goto __528
 39309  __528:
 39310  	i++
 39311  	goto __527
 39312  	goto __529
 39313  __529:
 39314  	;
 39315  	goto __526
 39316  __525:
 39317  	/* Not UTF mode */
 39318  
 39319  	i = Tuint32_t(1)
 39320  __543:
 39321  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39322  		goto __545
 39323  	}
 39324  
 39325  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39326  		goto __546
 39327  	}
 39328  
 39329  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39330  		goto __547
 39331  	}
 39332  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39333  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39334  		goto __548
 39335  	}
 39336  	return -2
 39337  __548:
 39338  	;
 39339  __547:
 39340  	;
 39341  
 39342  	rrc = DMATCH_NOMATCH
 39343  	goto RETURN_SWITCH
 39344  
 39345  __546:
 39346  	;
 39347  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39348  		goto __549
 39349  	}
 39350  	rrc = DMATCH_NOMATCH
 39351  	goto RETURN_SWITCH
 39352  __549:
 39353  	;
 39354  
 39355  	goto __544
 39356  __544:
 39357  	i++
 39358  	goto __543
 39359  	goto __545
 39360  __545:
 39361  	;
 39362  __526:
 39363  	;
 39364  
 39365  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39366  		goto __550
 39367  	}
 39368  	goto __11
 39369  __550:
 39370  	;
 39371  
 39372  	if !(reptype == REPTYPE_MIN) {
 39373  		goto __551
 39374  	}
 39375  
 39376  	if !(utf != 0) {
 39377  		goto __553
 39378  	}
 39379  
 39380  __555:
 39381  
 39382  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39383  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM206
 39384  	goto MATCH_RECURSE
 39385  L_RM206:
 39386  	;
 39387  
 39388  	if !(rrc != DMATCH_NOMATCH) {
 39389  		goto __558
 39390  	}
 39391  	rrc = rrc
 39392  	goto RETURN_SWITCH
 39393  __558:
 39394  	;
 39395  
 39396  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39397  		goto __559
 39398  	}
 39399  	rrc = DMATCH_NOMATCH
 39400  	goto RETURN_SWITCH
 39401  __559:
 39402  	;
 39403  
 39404  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39405  		goto __560
 39406  	}
 39407  
 39408  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39409  		goto __561
 39410  	}
 39411  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39412  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39413  		goto __562
 39414  	}
 39415  	return -2
 39416  __562:
 39417  	;
 39418  __561:
 39419  	;
 39420  
 39421  	rrc = DMATCH_NOMATCH
 39422  	goto RETURN_SWITCH
 39423  
 39424  __560:
 39425  	;
 39426  	d4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39427  	if !(d4 >= 0xc0) {
 39428  		goto __563
 39429  	}
 39430  	if !(d4&0x20 == Tuint32_t(0)) {
 39431  		goto __564
 39432  	}
 39433  	d4 = d4&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39434  	goto __565
 39435  __564:
 39436  	if !(d4&0x10 == Tuint32_t(0)) {
 39437  		goto __566
 39438  	}
 39439  	d4 = d4&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39440  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39441  	goto __567
 39442  __566:
 39443  	if !(d4&0x08 == Tuint32_t(0)) {
 39444  		goto __568
 39445  	}
 39446  	d4 = d4&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39447  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39448  	goto __569
 39449  __568:
 39450  	if !(d4&0x04 == Tuint32_t(0)) {
 39451  		goto __570
 39452  	}
 39453  	d4 = d4&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39454  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39455  	goto __571
 39456  __570:
 39457  	d4 = d4&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39458  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39459  __571:
 39460  	;
 39461  __569:
 39462  	;
 39463  __567:
 39464  	;
 39465  __565:
 39466  	;
 39467  __563:
 39468  	;
 39469  
 39470  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d4) {
 39471  		goto __572
 39472  	}
 39473  	rrc = DMATCH_NOMATCH
 39474  	goto RETURN_SWITCH
 39475  __572:
 39476  	;
 39477  
 39478  	goto __556
 39479  __556:
 39480  	goto __555
 39481  	goto __557
 39482  __557:
 39483  	;
 39484  	goto __554
 39485  __553:
 39486  	/* Not UTF mode */
 39487  
 39488  __573:
 39489  
 39490  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39491  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM31
 39492  	goto MATCH_RECURSE
 39493  L_RM31:
 39494  	;
 39495  
 39496  	if !(rrc != DMATCH_NOMATCH) {
 39497  		goto __576
 39498  	}
 39499  	rrc = rrc
 39500  	goto RETURN_SWITCH
 39501  __576:
 39502  	;
 39503  
 39504  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39505  		goto __577
 39506  	}
 39507  	rrc = DMATCH_NOMATCH
 39508  	goto RETURN_SWITCH
 39509  __577:
 39510  	;
 39511  
 39512  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39513  		goto __578
 39514  	}
 39515  
 39516  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39517  		goto __579
 39518  	}
 39519  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39520  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39521  		goto __580
 39522  	}
 39523  	return -2
 39524  __580:
 39525  	;
 39526  __579:
 39527  	;
 39528  
 39529  	rrc = DMATCH_NOMATCH
 39530  	goto RETURN_SWITCH
 39531  
 39532  __578:
 39533  	;
 39534  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39535  		goto __581
 39536  	}
 39537  	rrc = DMATCH_NOMATCH
 39538  	goto RETURN_SWITCH
 39539  __581:
 39540  	;
 39541  
 39542  	goto __574
 39543  __574:
 39544  	goto __573
 39545  	goto __575
 39546  __575:
 39547  	;
 39548  __554:
 39549  	;
 39550  	// Control never gets here
 39551  	goto __552
 39552  __551:
 39553  
 39554  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 39555  
 39556  	if !(utf != 0) {
 39557  		goto __582
 39558  	}
 39559  
 39560  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39561  __584:
 39562  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39563  		goto __586
 39564  	}
 39565  
 39566  	len1 = 1
 39567  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39568  		goto __587
 39569  	}
 39570  
 39571  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39572  		goto __588
 39573  	}
 39574  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39575  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39576  		goto __589
 39577  	}
 39578  	return -2
 39579  __589:
 39580  	;
 39581  __588:
 39582  	;
 39583  
 39584  	goto __586
 39585  __587:
 39586  	;
 39587  	d5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39588  	if !(d5 >= 0xc0) {
 39589  		goto __590
 39590  	}
 39591  	if !(d5&0x20 == Tuint32_t(0)) {
 39592  		goto __591
 39593  	}
 39594  	d5 = d5&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39595  	len1++
 39596  	goto __592
 39597  __591:
 39598  	if !(d5&0x10 == Tuint32_t(0)) {
 39599  		goto __593
 39600  	}
 39601  	d5 = d5&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39602  	len1 = len1 + 2
 39603  	goto __594
 39604  __593:
 39605  	if !(d5&0x08 == Tuint32_t(0)) {
 39606  		goto __595
 39607  	}
 39608  	d5 = d5&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39609  	len1 = len1 + 3
 39610  	goto __596
 39611  __595:
 39612  	if !(d5&0x04 == Tuint32_t(0)) {
 39613  		goto __597
 39614  	}
 39615  	d5 = d5&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39616  	len1 = len1 + 4
 39617  	goto __598
 39618  __597:
 39619  	d5 = d5&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 39620  	len1 = len1 + 5
 39621  __598:
 39622  	;
 39623  __596:
 39624  	;
 39625  __594:
 39626  	;
 39627  __592:
 39628  	;
 39629  __590:
 39630  	;
 39631  
 39632  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d5) {
 39633  		goto __599
 39634  	}
 39635  	goto __586
 39636  __599:
 39637  	;
 39638  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len1)
 39639  	goto __585
 39640  __585:
 39641  	i++
 39642  	goto __584
 39643  	goto __586
 39644  __586:
 39645  	;
 39646  
 39647  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39648  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39649  	//           go too far.
 39650  
 39651  	if !(reptype != REPTYPE_POS) {
 39652  		goto __600
 39653  	}
 39654  __601:
 39655  
 39656  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39657  		goto __604
 39658  	}
 39659  	goto __603
 39660  __604:
 39661  	;
 39662  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39663  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM207
 39664  	goto MATCH_RECURSE
 39665  L_RM207:
 39666  	;
 39667  
 39668  	if !(rrc != DMATCH_NOMATCH) {
 39669  		goto __605
 39670  	}
 39671  	rrc = rrc
 39672  	goto RETURN_SWITCH
 39673  __605:
 39674  	;
 39675  
 39676  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39677  __606:
 39678  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39679  		goto __607
 39680  	}
 39681  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39682  	goto __606
 39683  __607:
 39684  	;
 39685  	goto __602
 39686  __602:
 39687  	goto __601
 39688  	goto __603
 39689  __603:
 39690  	;
 39691  __600:
 39692  	;
 39693  	goto __583
 39694  __582:
 39695  	/* Not UTF mode */
 39696  
 39697  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39698  __608:
 39699  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39700  		goto __610
 39701  	}
 39702  
 39703  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39704  		goto __611
 39705  	}
 39706  
 39707  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39708  		goto __612
 39709  	}
 39710  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39711  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39712  		goto __613
 39713  	}
 39714  	return -2
 39715  __613:
 39716  	;
 39717  __612:
 39718  	;
 39719  
 39720  	goto __610
 39721  __611:
 39722  	;
 39723  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39724  		goto __614
 39725  	}
 39726  	goto __610
 39727  __614:
 39728  	;
 39729  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39730  	goto __609
 39731  __609:
 39732  	i++
 39733  	goto __608
 39734  	goto __610
 39735  __610:
 39736  	;
 39737  	if !(reptype != REPTYPE_POS) {
 39738  		goto __615
 39739  	}
 39740  __616:
 39741  
 39742  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39743  		goto __619
 39744  	}
 39745  	goto __618
 39746  __619:
 39747  	;
 39748  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39749  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM32
 39750  	goto MATCH_RECURSE
 39751  L_RM32:
 39752  	;
 39753  
 39754  	if !(rrc != DMATCH_NOMATCH) {
 39755  		goto __620
 39756  	}
 39757  	rrc = rrc
 39758  	goto RETURN_SWITCH
 39759  __620:
 39760  	;
 39761  
 39762  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39763  	goto __617
 39764  __617:
 39765  	goto __616
 39766  	goto __618
 39767  __618:
 39768  	;
 39769  __615:
 39770  	;
 39771  __583:
 39772  	;
 39773  __552:
 39774  	;
 39775  __426:
 39776  	;
 39777  	goto __13
 39778  
 39779  	// =====================================================================
 39780  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 39781  	//     are used when all the characters in the class have values in the range
 39782  	//     0-255, and either the matching is caseful, or the characters are in the
 39783  	//     range 0-127 when UTF processing is enabled. The only difference between
 39784  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 39785  	//     encountered.
 39786  
 39787  __77:
 39788  __78:
 39789  
 39790  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) // Save for matching
 39791  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) // Advance past the item
 39792  
 39793  	// Look past the end of the item to see if there is repeat information
 39794  	//       following. Then obey similar code to character type repeats.
 39795  
 39796  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 39797  	case OP_CRSTAR:
 39798  		goto __622
 39799  	case OP_CRMINSTAR:
 39800  		goto __623
 39801  	case OP_CRPLUS:
 39802  		goto __624
 39803  	case OP_CRMINPLUS:
 39804  		goto __625
 39805  	case OP_CRQUERY:
 39806  		goto __626
 39807  	case OP_CRMINQUERY:
 39808  		goto __627
 39809  	case OP_CRPOSSTAR:
 39810  		goto __628
 39811  	case OP_CRPOSPLUS:
 39812  		goto __629
 39813  	case OP_CRPOSQUERY:
 39814  		goto __630
 39815  
 39816  	case OP_CRRANGE:
 39817  		goto __631
 39818  	case OP_CRMINRANGE:
 39819  		goto __632
 39820  	case OP_CRPOSRANGE:
 39821  		goto __633
 39822  
 39823  	default:
 39824  		goto __634
 39825  	}
 39826  	goto __621
 39827  
 39828  __622:
 39829  __623:
 39830  __624:
 39831  __625:
 39832  __626:
 39833  __627:
 39834  __628:
 39835  __629:
 39836  __630:
 39837  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 39838  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 39839  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 39840  	reptype = rep_typ[fc]
 39841  	goto __621
 39842  
 39843  __631:
 39844  __632:
 39845  __633:
 39846  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 39847  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 39848  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 39849  		goto __635
 39850  	}
 39851  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 39852  __635:
 39853  	; // Max 0 => infinity
 39854  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 39855  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 39856  	goto __621
 39857  
 39858  __634: // No repeat follows
 39859  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1))
 39860  	goto __621
 39861  __621:
 39862  	;
 39863  
 39864  	// First, ensure the minimum number of matches are present.
 39865  
 39866  	if !(utf != 0) {
 39867  		goto __636
 39868  	}
 39869  
 39870  	i = Tuint32_t(1)
 39871  __638:
 39872  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39873  		goto __640
 39874  	}
 39875  
 39876  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39877  		goto __641
 39878  	}
 39879  
 39880  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39881  		goto __642
 39882  	}
 39883  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39884  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39885  		goto __643
 39886  	}
 39887  	return -2
 39888  __643:
 39889  	;
 39890  __642:
 39891  	;
 39892  
 39893  	rrc = DMATCH_NOMATCH
 39894  	goto RETURN_SWITCH
 39895  
 39896  __641:
 39897  	;
 39898  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39899  	if !(fc >= 0xc0) {
 39900  		goto __644
 39901  	}
 39902  	if !(fc&0x20 == Tuint32_t(0)) {
 39903  		goto __645
 39904  	}
 39905  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39906  	goto __646
 39907  __645:
 39908  	if !(fc&0x10 == Tuint32_t(0)) {
 39909  		goto __647
 39910  	}
 39911  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39912  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39913  	goto __648
 39914  __647:
 39915  	if !(fc&0x08 == Tuint32_t(0)) {
 39916  		goto __649
 39917  	}
 39918  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39919  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39920  	goto __650
 39921  __649:
 39922  	if !(fc&0x04 == Tuint32_t(0)) {
 39923  		goto __651
 39924  	}
 39925  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39926  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39927  	goto __652
 39928  __651:
 39929  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39930  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39931  __652:
 39932  	;
 39933  __650:
 39934  	;
 39935  __648:
 39936  	;
 39937  __646:
 39938  	;
 39939  __644:
 39940  	;
 39941  
 39942  	if !(fc > Tuint32_t(255)) {
 39943  		goto __653
 39944  	}
 39945  
 39946  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 39947  		goto __655
 39948  	}
 39949  	rrc = DMATCH_NOMATCH
 39950  	goto RETURN_SWITCH
 39951  __655:
 39952  	;
 39953  
 39954  	goto __654
 39955  __653:
 39956  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 39957  		goto __656
 39958  	}
 39959  	rrc = DMATCH_NOMATCH
 39960  	goto RETURN_SWITCH
 39961  __656:
 39962  	;
 39963  __654:
 39964  	;
 39965  
 39966  	goto __639
 39967  __639:
 39968  	i++
 39969  	goto __638
 39970  	goto __640
 39971  __640:
 39972  	;
 39973  	goto __637
 39974  __636:
 39975  	/* Not UTF mode */
 39976  
 39977  	i = Tuint32_t(1)
 39978  __657:
 39979  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39980  		goto __659
 39981  	}
 39982  
 39983  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39984  		goto __660
 39985  	}
 39986  
 39987  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39988  		goto __661
 39989  	}
 39990  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39991  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39992  		goto __662
 39993  	}
 39994  	return -2
 39995  __662:
 39996  	;
 39997  __661:
 39998  	;
 39999  
 40000  	rrc = DMATCH_NOMATCH
 40001  	goto RETURN_SWITCH
 40002  
 40003  __660:
 40004  	;
 40005  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40006  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40007  		goto __663
 40008  	}
 40009  	rrc = DMATCH_NOMATCH
 40010  	goto RETURN_SWITCH
 40011  __663:
 40012  	;
 40013  
 40014  	goto __658
 40015  __658:
 40016  	i++
 40017  	goto __657
 40018  	goto __659
 40019  __659:
 40020  	;
 40021  __637:
 40022  	;
 40023  
 40024  	// If Lmax == Lmin we are done. Continue with main loop.
 40025  
 40026  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40027  		goto __664
 40028  	}
 40029  	goto __11
 40030  __664:
 40031  	;
 40032  
 40033  	// If minimizing, keep testing the rest of the expression and advancing
 40034  	//       the pointer while it matches the class.
 40035  
 40036  	if !(reptype == REPTYPE_MIN) {
 40037  		goto __665
 40038  	}
 40039  
 40040  	if !(utf != 0) {
 40041  		goto __667
 40042  	}
 40043  
 40044  __669:
 40045  
 40046  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40047  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM200
 40048  	goto MATCH_RECURSE
 40049  L_RM200:
 40050  	;
 40051  
 40052  	if !(rrc != DMATCH_NOMATCH) {
 40053  		goto __672
 40054  	}
 40055  	rrc = rrc
 40056  	goto RETURN_SWITCH
 40057  __672:
 40058  	;
 40059  
 40060  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40061  		goto __673
 40062  	}
 40063  	rrc = DMATCH_NOMATCH
 40064  	goto RETURN_SWITCH
 40065  __673:
 40066  	;
 40067  
 40068  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40069  		goto __674
 40070  	}
 40071  
 40072  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40073  		goto __675
 40074  	}
 40075  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40076  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40077  		goto __676
 40078  	}
 40079  	return -2
 40080  __676:
 40081  	;
 40082  __675:
 40083  	;
 40084  
 40085  	rrc = DMATCH_NOMATCH
 40086  	goto RETURN_SWITCH
 40087  
 40088  __674:
 40089  	;
 40090  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40091  	if !(fc >= 0xc0) {
 40092  		goto __677
 40093  	}
 40094  	if !(fc&0x20 == Tuint32_t(0)) {
 40095  		goto __678
 40096  	}
 40097  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40098  	goto __679
 40099  __678:
 40100  	if !(fc&0x10 == Tuint32_t(0)) {
 40101  		goto __680
 40102  	}
 40103  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40104  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40105  	goto __681
 40106  __680:
 40107  	if !(fc&0x08 == Tuint32_t(0)) {
 40108  		goto __682
 40109  	}
 40110  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40111  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40112  	goto __683
 40113  __682:
 40114  	if !(fc&0x04 == Tuint32_t(0)) {
 40115  		goto __684
 40116  	}
 40117  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40118  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40119  	goto __685
 40120  __684:
 40121  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40122  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40123  __685:
 40124  	;
 40125  __683:
 40126  	;
 40127  __681:
 40128  	;
 40129  __679:
 40130  	;
 40131  __677:
 40132  	;
 40133  
 40134  	if !(fc > Tuint32_t(255)) {
 40135  		goto __686
 40136  	}
 40137  
 40138  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40139  		goto __688
 40140  	}
 40141  	rrc = DMATCH_NOMATCH
 40142  	goto RETURN_SWITCH
 40143  __688:
 40144  	;
 40145  
 40146  	goto __687
 40147  __686:
 40148  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40149  		goto __689
 40150  	}
 40151  	rrc = DMATCH_NOMATCH
 40152  	goto RETURN_SWITCH
 40153  __689:
 40154  	;
 40155  __687:
 40156  	;
 40157  
 40158  	goto __670
 40159  __670:
 40160  	goto __669
 40161  	goto __671
 40162  __671:
 40163  	;
 40164  	goto __668
 40165  __667:
 40166  	/* Not UTF mode */
 40167  
 40168  __690:
 40169  
 40170  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40171  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM23
 40172  	goto MATCH_RECURSE
 40173  L_RM23:
 40174  	;
 40175  
 40176  	if !(rrc != DMATCH_NOMATCH) {
 40177  		goto __693
 40178  	}
 40179  	rrc = rrc
 40180  	goto RETURN_SWITCH
 40181  __693:
 40182  	;
 40183  
 40184  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40185  		goto __694
 40186  	}
 40187  	rrc = DMATCH_NOMATCH
 40188  	goto RETURN_SWITCH
 40189  __694:
 40190  	;
 40191  
 40192  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40193  		goto __695
 40194  	}
 40195  
 40196  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40197  		goto __696
 40198  	}
 40199  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40200  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40201  		goto __697
 40202  	}
 40203  	return -2
 40204  __697:
 40205  	;
 40206  __696:
 40207  	;
 40208  
 40209  	rrc = DMATCH_NOMATCH
 40210  	goto RETURN_SWITCH
 40211  
 40212  __695:
 40213  	;
 40214  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40215  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40216  		goto __698
 40217  	}
 40218  	rrc = DMATCH_NOMATCH
 40219  	goto RETURN_SWITCH
 40220  __698:
 40221  	;
 40222  
 40223  	goto __691
 40224  __691:
 40225  	goto __690
 40226  	goto __692
 40227  __692:
 40228  	;
 40229  __668:
 40230  	;
 40231  	// Control never gets here
 40232  	goto __666
 40233  __665:
 40234  
 40235  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40236  
 40237  	if !(utf != 0) {
 40238  		goto __699
 40239  	}
 40240  
 40241  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40242  __701:
 40243  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40244  		goto __703
 40245  	}
 40246  
 40247  	len2 = 1
 40248  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40249  		goto __704
 40250  	}
 40251  
 40252  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40253  		goto __705
 40254  	}
 40255  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40256  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40257  		goto __706
 40258  	}
 40259  	return -2
 40260  __706:
 40261  	;
 40262  __705:
 40263  	;
 40264  
 40265  	goto __703
 40266  __704:
 40267  	;
 40268  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40269  	if !(fc >= 0xc0) {
 40270  		goto __707
 40271  	}
 40272  	if !(fc&0x20 == Tuint32_t(0)) {
 40273  		goto __708
 40274  	}
 40275  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40276  	len2++
 40277  	goto __709
 40278  __708:
 40279  	if !(fc&0x10 == Tuint32_t(0)) {
 40280  		goto __710
 40281  	}
 40282  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40283  	len2 = len2 + 2
 40284  	goto __711
 40285  __710:
 40286  	if !(fc&0x08 == Tuint32_t(0)) {
 40287  		goto __712
 40288  	}
 40289  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40290  	len2 = len2 + 3
 40291  	goto __713
 40292  __712:
 40293  	if !(fc&0x04 == Tuint32_t(0)) {
 40294  		goto __714
 40295  	}
 40296  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40297  	len2 = len2 + 4
 40298  	goto __715
 40299  __714:
 40300  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 40301  	len2 = len2 + 5
 40302  __715:
 40303  	;
 40304  __713:
 40305  	;
 40306  __711:
 40307  	;
 40308  __709:
 40309  	;
 40310  __707:
 40311  	;
 40312  
 40313  	if !(fc > Tuint32_t(255)) {
 40314  		goto __716
 40315  	}
 40316  
 40317  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40318  		goto __718
 40319  	}
 40320  	goto __703
 40321  __718:
 40322  	;
 40323  	goto __717
 40324  __716:
 40325  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40326  		goto __719
 40327  	}
 40328  	goto __703
 40329  __719:
 40330  	;
 40331  __717:
 40332  	;
 40333  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len2)
 40334  	goto __702
 40335  __702:
 40336  	i++
 40337  	goto __701
 40338  	goto __703
 40339  __703:
 40340  	;
 40341  
 40342  	if !(reptype == REPTYPE_POS) {
 40343  		goto __720
 40344  	}
 40345  	goto __11
 40346  __720:
 40347  	; // No backtracking
 40348  
 40349  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40350  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40351  	//           go too far.
 40352  
 40353  __721:
 40354  
 40355  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40356  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM201
 40357  	goto MATCH_RECURSE
 40358  L_RM201:
 40359  	;
 40360  
 40361  	if !(rrc != DMATCH_NOMATCH) {
 40362  		goto __724
 40363  	}
 40364  	rrc = rrc
 40365  	goto RETURN_SWITCH
 40366  __724:
 40367  	;
 40368  
 40369  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40370  		goto __725
 40371  	}
 40372  	goto __723
 40373  __725:
 40374  	; // Tried at original position
 40375  __726:
 40376  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40377  		goto __727
 40378  	}
 40379  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40380  	goto __726
 40381  __727:
 40382  	;
 40383  	goto __722
 40384  __722:
 40385  	goto __721
 40386  	goto __723
 40387  __723:
 40388  	;
 40389  	goto __700
 40390  __699:
 40391  	/* Not UTF mode */
 40392  
 40393  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40394  __728:
 40395  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40396  		goto __730
 40397  	}
 40398  
 40399  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40400  		goto __731
 40401  	}
 40402  
 40403  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40404  		goto __732
 40405  	}
 40406  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40407  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40408  		goto __733
 40409  	}
 40410  	return -2
 40411  __733:
 40412  	;
 40413  __732:
 40414  	;
 40415  
 40416  	goto __730
 40417  __731:
 40418  	;
 40419  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40420  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40421  		goto __734
 40422  	}
 40423  	goto __730
 40424  __734:
 40425  	;
 40426  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 40427  	goto __729
 40428  __729:
 40429  	i++
 40430  	goto __728
 40431  	goto __730
 40432  __730:
 40433  	;
 40434  
 40435  	if !(reptype == REPTYPE_POS) {
 40436  		goto __735
 40437  	}
 40438  	goto __11
 40439  __735:
 40440  	; // No backtracking
 40441  
 40442  __736:
 40443  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40444  		goto __737
 40445  	}
 40446  
 40447  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40448  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM24
 40449  	goto MATCH_RECURSE
 40450  L_RM24:
 40451  	;
 40452  
 40453  	if !(rrc != DMATCH_NOMATCH) {
 40454  		goto __738
 40455  	}
 40456  	rrc = rrc
 40457  	goto RETURN_SWITCH
 40458  __738:
 40459  	;
 40460  
 40461  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40462  	goto __736
 40463  __737:
 40464  	;
 40465  __700:
 40466  	;
 40467  
 40468  	rrc = DMATCH_NOMATCH
 40469  	goto RETURN_SWITCH
 40470  
 40471  __666:
 40472  	;
 40473  
 40474  	// Control never gets here
 40475  
 40476  	// =====================================================================
 40477  	// Match an extended character class. In the 8-bit library, this opcode is
 40478  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 40479  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 40480  	//     UTF is not supported.
 40481  
 40482  __79:
 40483  
 40484  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) // Save for matching
 40485  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Advance past the item
 40486  
 40487  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 40488  	case OP_CRSTAR:
 40489  		goto __740
 40490  	case OP_CRMINSTAR:
 40491  		goto __741
 40492  	case OP_CRPLUS:
 40493  		goto __742
 40494  	case OP_CRMINPLUS:
 40495  		goto __743
 40496  	case OP_CRQUERY:
 40497  		goto __744
 40498  	case OP_CRMINQUERY:
 40499  		goto __745
 40500  	case OP_CRPOSSTAR:
 40501  		goto __746
 40502  	case OP_CRPOSPLUS:
 40503  		goto __747
 40504  	case OP_CRPOSQUERY:
 40505  		goto __748
 40506  
 40507  	case OP_CRRANGE:
 40508  		goto __749
 40509  	case OP_CRMINRANGE:
 40510  		goto __750
 40511  	case OP_CRPOSRANGE:
 40512  		goto __751
 40513  
 40514  	default:
 40515  		goto __752
 40516  	}
 40517  	goto __739
 40518  
 40519  __740:
 40520  __741:
 40521  __742:
 40522  __743:
 40523  __744:
 40524  __745:
 40525  __746:
 40526  __747:
 40527  __748:
 40528  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 40529  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 40530  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 40531  	reptype = rep_typ[fc]
 40532  	goto __739
 40533  
 40534  __749:
 40535  __750:
 40536  __751:
 40537  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 40538  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 40539  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 40540  		goto __753
 40541  	}
 40542  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 40543  __753:
 40544  	; // Max 0 => infinity
 40545  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 40546  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 40547  	goto __739
 40548  
 40549  __752: // No repeat follows
 40550  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1))
 40551  	goto __739
 40552  __739:
 40553  	;
 40554  
 40555  	// First, ensure the minimum number of matches are present.
 40556  
 40557  	i = Tuint32_t(1)
 40558  __754:
 40559  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 40560  		goto __756
 40561  	}
 40562  
 40563  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40564  		goto __757
 40565  	}
 40566  
 40567  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40568  		goto __758
 40569  	}
 40570  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40571  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40572  		goto __759
 40573  	}
 40574  	return -2
 40575  __759:
 40576  	;
 40577  __758:
 40578  	;
 40579  
 40580  	rrc = DMATCH_NOMATCH
 40581  	goto RETURN_SWITCH
 40582  
 40583  __757:
 40584  	;
 40585  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40586  	if !(utf != 0 && fc >= 0xc0) {
 40587  		goto __760
 40588  	}
 40589  	if !(fc&0x20 == Tuint32_t(0)) {
 40590  		goto __761
 40591  	}
 40592  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40593  	goto __762
 40594  __761:
 40595  	if !(fc&0x10 == Tuint32_t(0)) {
 40596  		goto __763
 40597  	}
 40598  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40599  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40600  	goto __764
 40601  __763:
 40602  	if !(fc&0x08 == Tuint32_t(0)) {
 40603  		goto __765
 40604  	}
 40605  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40606  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40607  	goto __766
 40608  __765:
 40609  	if !(fc&0x04 == Tuint32_t(0)) {
 40610  		goto __767
 40611  	}
 40612  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40613  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40614  	goto __768
 40615  __767:
 40616  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40617  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40618  __768:
 40619  	;
 40620  __766:
 40621  	;
 40622  __764:
 40623  	;
 40624  __762:
 40625  	;
 40626  __760:
 40627  	;
 40628  
 40629  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40630  		goto __769
 40631  	}
 40632  	rrc = DMATCH_NOMATCH
 40633  	goto RETURN_SWITCH
 40634  __769:
 40635  	;
 40636  
 40637  	goto __755
 40638  __755:
 40639  	i++
 40640  	goto __754
 40641  	goto __756
 40642  __756:
 40643  	;
 40644  
 40645  	// If Lmax == Lmin we can just continue with the main loop.
 40646  
 40647  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40648  		goto __770
 40649  	}
 40650  	goto __11
 40651  __770:
 40652  	;
 40653  
 40654  	// If minimizing, keep testing the rest of the expression and advancing
 40655  	//       the pointer while it matches the class.
 40656  
 40657  	if !(reptype == REPTYPE_MIN) {
 40658  		goto __771
 40659  	}
 40660  
 40661  __773:
 40662  
 40663  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40664  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM100
 40665  	goto MATCH_RECURSE
 40666  L_RM100:
 40667  	;
 40668  
 40669  	if !(rrc != DMATCH_NOMATCH) {
 40670  		goto __776
 40671  	}
 40672  	rrc = rrc
 40673  	goto RETURN_SWITCH
 40674  __776:
 40675  	;
 40676  
 40677  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40678  		goto __777
 40679  	}
 40680  	rrc = DMATCH_NOMATCH
 40681  	goto RETURN_SWITCH
 40682  __777:
 40683  	;
 40684  
 40685  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40686  		goto __778
 40687  	}
 40688  
 40689  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40690  		goto __779
 40691  	}
 40692  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40693  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40694  		goto __780
 40695  	}
 40696  	return -2
 40697  __780:
 40698  	;
 40699  __779:
 40700  	;
 40701  
 40702  	rrc = DMATCH_NOMATCH
 40703  	goto RETURN_SWITCH
 40704  
 40705  __778:
 40706  	;
 40707  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40708  	if !(utf != 0 && fc >= 0xc0) {
 40709  		goto __781
 40710  	}
 40711  	if !(fc&0x20 == Tuint32_t(0)) {
 40712  		goto __782
 40713  	}
 40714  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40715  	goto __783
 40716  __782:
 40717  	if !(fc&0x10 == Tuint32_t(0)) {
 40718  		goto __784
 40719  	}
 40720  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40721  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40722  	goto __785
 40723  __784:
 40724  	if !(fc&0x08 == Tuint32_t(0)) {
 40725  		goto __786
 40726  	}
 40727  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40728  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40729  	goto __787
 40730  __786:
 40731  	if !(fc&0x04 == Tuint32_t(0)) {
 40732  		goto __788
 40733  	}
 40734  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40735  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40736  	goto __789
 40737  __788:
 40738  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40739  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40740  __789:
 40741  	;
 40742  __787:
 40743  	;
 40744  __785:
 40745  	;
 40746  __783:
 40747  	;
 40748  __781:
 40749  	;
 40750  
 40751  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40752  		goto __790
 40753  	}
 40754  	rrc = DMATCH_NOMATCH
 40755  	goto RETURN_SWITCH
 40756  __790:
 40757  	;
 40758  
 40759  	goto __774
 40760  __774:
 40761  	goto __773
 40762  	goto __775
 40763  __775:
 40764  	;
 40765  	// Control never gets here
 40766  	goto __772
 40767  __771:
 40768  
 40769  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40770  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40771  __791:
 40772  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40773  		goto __793
 40774  	}
 40775  
 40776  	len3 = 1
 40777  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40778  		goto __794
 40779  	}
 40780  
 40781  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40782  		goto __795
 40783  	}
 40784  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40785  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40786  		goto __796
 40787  	}
 40788  	return -2
 40789  __796:
 40790  	;
 40791  __795:
 40792  	;
 40793  
 40794  	goto __793
 40795  __794:
 40796  	;
 40797  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40798  	if !(utf != 0 && fc >= 0xc0) {
 40799  		goto __797
 40800  	}
 40801  	if !(fc&0x20 == Tuint32_t(0)) {
 40802  		goto __798
 40803  	}
 40804  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40805  	len3++
 40806  	goto __799
 40807  __798:
 40808  	if !(fc&0x10 == Tuint32_t(0)) {
 40809  		goto __800
 40810  	}
 40811  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40812  	len3 = len3 + 2
 40813  	goto __801
 40814  __800:
 40815  	if !(fc&0x08 == Tuint32_t(0)) {
 40816  		goto __802
 40817  	}
 40818  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40819  	len3 = len3 + 3
 40820  	goto __803
 40821  __802:
 40822  	if !(fc&0x04 == Tuint32_t(0)) {
 40823  		goto __804
 40824  	}
 40825  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40826  	len3 = len3 + 4
 40827  	goto __805
 40828  __804:
 40829  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 40830  	len3 = len3 + 5
 40831  __805:
 40832  	;
 40833  __803:
 40834  	;
 40835  __801:
 40836  	;
 40837  __799:
 40838  	;
 40839  __797:
 40840  	;
 40841  
 40842  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40843  		goto __806
 40844  	}
 40845  	goto __793
 40846  __806:
 40847  	;
 40848  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len3)
 40849  	goto __792
 40850  __792:
 40851  	i++
 40852  	goto __791
 40853  	goto __793
 40854  __793:
 40855  	;
 40856  
 40857  	if !(reptype == REPTYPE_POS) {
 40858  		goto __807
 40859  	}
 40860  	goto __11
 40861  __807:
 40862  	; // No backtracking
 40863  
 40864  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40865  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40866  	//         go too far.
 40867  
 40868  __808:
 40869  
 40870  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40871  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM101
 40872  	goto MATCH_RECURSE
 40873  L_RM101:
 40874  	;
 40875  
 40876  	if !(rrc != DMATCH_NOMATCH) {
 40877  		goto __811
 40878  	}
 40879  	rrc = rrc
 40880  	goto RETURN_SWITCH
 40881  __811:
 40882  	;
 40883  
 40884  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40885  		goto __812
 40886  	}
 40887  	goto __810
 40888  __812:
 40889  	; // Tried at original position
 40890  	if !(utf != 0) {
 40891  		goto __813
 40892  	}
 40893  __814:
 40894  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40895  		goto __815
 40896  	}
 40897  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40898  	goto __814
 40899  __815:
 40900  	;
 40901  __813:
 40902  	;
 40903  	goto __809
 40904  __809:
 40905  	goto __808
 40906  	goto __810
 40907  __810:
 40908  	;
 40909  	rrc = DMATCH_NOMATCH
 40910  	goto RETURN_SWITCH
 40911  
 40912  __772:
 40913  	;
 40914  
 40915  	// Control never gets here
 40916  
 40917  	// =====================================================================
 40918  	// Match various character types when PCRE2_UCP is not set. These opcodes
 40919  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 40920  	//     tests are compiled.
 40921  
 40922  __80:
 40923  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40924  		goto __816
 40925  	}
 40926  
 40927  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40928  		goto __817
 40929  	}
 40930  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40931  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40932  		goto __818
 40933  	}
 40934  	return -2
 40935  __818:
 40936  	;
 40937  __817:
 40938  	;
 40939  
 40940  	rrc = DMATCH_NOMATCH
 40941  	goto RETURN_SWITCH
 40942  
 40943  __816:
 40944  	;
 40945  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40946  	if !(utf != 0 && fc >= 0xc0) {
 40947  		goto __819
 40948  	}
 40949  	if !(fc&0x20 == Tuint32_t(0)) {
 40950  		goto __820
 40951  	}
 40952  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40953  	goto __821
 40954  __820:
 40955  	if !(fc&0x10 == Tuint32_t(0)) {
 40956  		goto __822
 40957  	}
 40958  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40959  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40960  	goto __823
 40961  __822:
 40962  	if !(fc&0x08 == Tuint32_t(0)) {
 40963  		goto __824
 40964  	}
 40965  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40966  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40967  	goto __825
 40968  __824:
 40969  	if !(fc&0x04 == Tuint32_t(0)) {
 40970  		goto __826
 40971  	}
 40972  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40973  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40974  	goto __827
 40975  __826:
 40976  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40977  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40978  __827:
 40979  	;
 40980  __825:
 40981  	;
 40982  __823:
 40983  	;
 40984  __821:
 40985  	;
 40986  __819:
 40987  	;
 40988  
 40989  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 40990  		goto __828
 40991  	}
 40992  	rrc = DMATCH_NOMATCH
 40993  	goto RETURN_SWITCH
 40994  __828:
 40995  	;
 40996  
 40997  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 40998  	goto __13
 40999  
 41000  __81:
 41001  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41002  		goto __829
 41003  	}
 41004  
 41005  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41006  		goto __830
 41007  	}
 41008  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41009  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41010  		goto __831
 41011  	}
 41012  	return -2
 41013  __831:
 41014  	;
 41015  __830:
 41016  	;
 41017  
 41018  	rrc = DMATCH_NOMATCH
 41019  	goto RETURN_SWITCH
 41020  
 41021  __829:
 41022  	;
 41023  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41024  	if !(utf != 0 && fc >= 0xc0) {
 41025  		goto __832
 41026  	}
 41027  	if !(fc&0x20 == Tuint32_t(0)) {
 41028  		goto __833
 41029  	}
 41030  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41031  	goto __834
 41032  __833:
 41033  	if !(fc&0x10 == Tuint32_t(0)) {
 41034  		goto __835
 41035  	}
 41036  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41037  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41038  	goto __836
 41039  __835:
 41040  	if !(fc&0x08 == Tuint32_t(0)) {
 41041  		goto __837
 41042  	}
 41043  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41044  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41045  	goto __838
 41046  __837:
 41047  	if !(fc&0x04 == Tuint32_t(0)) {
 41048  		goto __839
 41049  	}
 41050  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41051  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41052  	goto __840
 41053  __839:
 41054  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41055  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41056  __840:
 41057  	;
 41058  __838:
 41059  	;
 41060  __836:
 41061  	;
 41062  __834:
 41063  	;
 41064  __832:
 41065  	;
 41066  
 41067  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 41068  		goto __841
 41069  	}
 41070  	rrc = DMATCH_NOMATCH
 41071  	goto RETURN_SWITCH
 41072  __841:
 41073  	;
 41074  
 41075  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41076  	goto __13
 41077  
 41078  __82:
 41079  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41080  		goto __842
 41081  	}
 41082  
 41083  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41084  		goto __843
 41085  	}
 41086  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41087  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41088  		goto __844
 41089  	}
 41090  	return -2
 41091  __844:
 41092  	;
 41093  __843:
 41094  	;
 41095  
 41096  	rrc = DMATCH_NOMATCH
 41097  	goto RETURN_SWITCH
 41098  
 41099  __842:
 41100  	;
 41101  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41102  	if !(utf != 0 && fc >= 0xc0) {
 41103  		goto __845
 41104  	}
 41105  	if !(fc&0x20 == Tuint32_t(0)) {
 41106  		goto __846
 41107  	}
 41108  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41109  	goto __847
 41110  __846:
 41111  	if !(fc&0x10 == Tuint32_t(0)) {
 41112  		goto __848
 41113  	}
 41114  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41115  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41116  	goto __849
 41117  __848:
 41118  	if !(fc&0x08 == Tuint32_t(0)) {
 41119  		goto __850
 41120  	}
 41121  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41122  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41123  	goto __851
 41124  __850:
 41125  	if !(fc&0x04 == Tuint32_t(0)) {
 41126  		goto __852
 41127  	}
 41128  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41129  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41130  	goto __853
 41131  __852:
 41132  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41133  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41134  __853:
 41135  	;
 41136  __851:
 41137  	;
 41138  __849:
 41139  	;
 41140  __847:
 41141  	;
 41142  __845:
 41143  	;
 41144  
 41145  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 41146  		goto __854
 41147  	}
 41148  	rrc = DMATCH_NOMATCH
 41149  	goto RETURN_SWITCH
 41150  __854:
 41151  	;
 41152  
 41153  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41154  	goto __13
 41155  
 41156  __83:
 41157  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41158  		goto __855
 41159  	}
 41160  
 41161  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41162  		goto __856
 41163  	}
 41164  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41165  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41166  		goto __857
 41167  	}
 41168  	return -2
 41169  __857:
 41170  	;
 41171  __856:
 41172  	;
 41173  
 41174  	rrc = DMATCH_NOMATCH
 41175  	goto RETURN_SWITCH
 41176  
 41177  __855:
 41178  	;
 41179  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41180  	if !(utf != 0 && fc >= 0xc0) {
 41181  		goto __858
 41182  	}
 41183  	if !(fc&0x20 == Tuint32_t(0)) {
 41184  		goto __859
 41185  	}
 41186  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41187  	goto __860
 41188  __859:
 41189  	if !(fc&0x10 == Tuint32_t(0)) {
 41190  		goto __861
 41191  	}
 41192  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41193  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41194  	goto __862
 41195  __861:
 41196  	if !(fc&0x08 == Tuint32_t(0)) {
 41197  		goto __863
 41198  	}
 41199  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41200  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41201  	goto __864
 41202  __863:
 41203  	if !(fc&0x04 == Tuint32_t(0)) {
 41204  		goto __865
 41205  	}
 41206  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41207  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41208  	goto __866
 41209  __865:
 41210  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41211  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41212  __866:
 41213  	;
 41214  __864:
 41215  	;
 41216  __862:
 41217  	;
 41218  __860:
 41219  	;
 41220  __858:
 41221  	;
 41222  
 41223  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 41224  		goto __867
 41225  	}
 41226  	rrc = DMATCH_NOMATCH
 41227  	goto RETURN_SWITCH
 41228  __867:
 41229  	;
 41230  
 41231  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41232  	goto __13
 41233  
 41234  __84:
 41235  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41236  		goto __868
 41237  	}
 41238  
 41239  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41240  		goto __869
 41241  	}
 41242  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41243  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41244  		goto __870
 41245  	}
 41246  	return -2
 41247  __870:
 41248  	;
 41249  __869:
 41250  	;
 41251  
 41252  	rrc = DMATCH_NOMATCH
 41253  	goto RETURN_SWITCH
 41254  
 41255  __868:
 41256  	;
 41257  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41258  	if !(utf != 0 && fc >= 0xc0) {
 41259  		goto __871
 41260  	}
 41261  	if !(fc&0x20 == Tuint32_t(0)) {
 41262  		goto __872
 41263  	}
 41264  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41265  	goto __873
 41266  __872:
 41267  	if !(fc&0x10 == Tuint32_t(0)) {
 41268  		goto __874
 41269  	}
 41270  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41271  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41272  	goto __875
 41273  __874:
 41274  	if !(fc&0x08 == Tuint32_t(0)) {
 41275  		goto __876
 41276  	}
 41277  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41278  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41279  	goto __877
 41280  __876:
 41281  	if !(fc&0x04 == Tuint32_t(0)) {
 41282  		goto __878
 41283  	}
 41284  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41285  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41286  	goto __879
 41287  __878:
 41288  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41289  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41290  __879:
 41291  	;
 41292  __877:
 41293  	;
 41294  __875:
 41295  	;
 41296  __873:
 41297  	;
 41298  __871:
 41299  	;
 41300  
 41301  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 41302  		goto __880
 41303  	}
 41304  	rrc = DMATCH_NOMATCH
 41305  	goto RETURN_SWITCH
 41306  __880:
 41307  	;
 41308  
 41309  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41310  	goto __13
 41311  
 41312  __85:
 41313  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41314  		goto __881
 41315  	}
 41316  
 41317  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41318  		goto __882
 41319  	}
 41320  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41321  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41322  		goto __883
 41323  	}
 41324  	return -2
 41325  __883:
 41326  	;
 41327  __882:
 41328  	;
 41329  
 41330  	rrc = DMATCH_NOMATCH
 41331  	goto RETURN_SWITCH
 41332  
 41333  __881:
 41334  	;
 41335  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41336  	if !(utf != 0 && fc >= 0xc0) {
 41337  		goto __884
 41338  	}
 41339  	if !(fc&0x20 == Tuint32_t(0)) {
 41340  		goto __885
 41341  	}
 41342  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41343  	goto __886
 41344  __885:
 41345  	if !(fc&0x10 == Tuint32_t(0)) {
 41346  		goto __887
 41347  	}
 41348  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41349  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41350  	goto __888
 41351  __887:
 41352  	if !(fc&0x08 == Tuint32_t(0)) {
 41353  		goto __889
 41354  	}
 41355  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41356  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41357  	goto __890
 41358  __889:
 41359  	if !(fc&0x04 == Tuint32_t(0)) {
 41360  		goto __891
 41361  	}
 41362  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41363  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41364  	goto __892
 41365  __891:
 41366  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41367  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41368  __892:
 41369  	;
 41370  __890:
 41371  	;
 41372  __888:
 41373  	;
 41374  __886:
 41375  	;
 41376  __884:
 41377  	;
 41378  
 41379  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 41380  		goto __893
 41381  	}
 41382  	rrc = DMATCH_NOMATCH
 41383  	goto RETURN_SWITCH
 41384  __893:
 41385  	;
 41386  
 41387  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41388  	goto __13
 41389  
 41390  __86:
 41391  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41392  		goto __894
 41393  	}
 41394  
 41395  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41396  		goto __895
 41397  	}
 41398  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41399  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41400  		goto __896
 41401  	}
 41402  	return -2
 41403  __896:
 41404  	;
 41405  __895:
 41406  	;
 41407  
 41408  	rrc = DMATCH_NOMATCH
 41409  	goto RETURN_SWITCH
 41410  
 41411  __894:
 41412  	;
 41413  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41414  	if !(utf != 0 && fc >= 0xc0) {
 41415  		goto __897
 41416  	}
 41417  	if !(fc&0x20 == Tuint32_t(0)) {
 41418  		goto __898
 41419  	}
 41420  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41421  	goto __899
 41422  __898:
 41423  	if !(fc&0x10 == Tuint32_t(0)) {
 41424  		goto __900
 41425  	}
 41426  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41427  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41428  	goto __901
 41429  __900:
 41430  	if !(fc&0x08 == Tuint32_t(0)) {
 41431  		goto __902
 41432  	}
 41433  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41434  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41435  	goto __903
 41436  __902:
 41437  	if !(fc&0x04 == Tuint32_t(0)) {
 41438  		goto __904
 41439  	}
 41440  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41441  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41442  	goto __905
 41443  __904:
 41444  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41445  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41446  __905:
 41447  	;
 41448  __903:
 41449  	;
 41450  __901:
 41451  	;
 41452  __899:
 41453  	;
 41454  __897:
 41455  	;
 41456  
 41457  	switch fc {
 41458  	default:
 41459  		goto __907
 41460  
 41461  	case Tuint32_t('\015'):
 41462  		goto __908
 41463  
 41464  	case Tuint32_t('\012'):
 41465  		goto __909
 41466  
 41467  	case Tuint32_t('\013'):
 41468  		goto __910
 41469  	case Tuint32_t('\014'):
 41470  		goto __911
 41471  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41472  		goto __912
 41473  	case Tuint32_t(0x2028):
 41474  		goto __913
 41475  	case Tuint32_t(0x2029):
 41476  		goto __914
 41477  	}
 41478  	goto __906
 41479  
 41480  __907:
 41481  	rrc = DMATCH_NOMATCH
 41482  	goto RETURN_SWITCH
 41483  
 41484  __908:
 41485  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41486  		goto __915
 41487  	}
 41488  
 41489  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41490  		goto __917
 41491  	}
 41492  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41493  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41494  		goto __918
 41495  	}
 41496  	return -2
 41497  __918:
 41498  	;
 41499  __917:
 41500  	;
 41501  
 41502  	goto __916
 41503  __915:
 41504  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 41505  		goto __919
 41506  	}
 41507  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 41508  __919:
 41509  	;
 41510  __916:
 41511  	;
 41512  	goto __906
 41513  
 41514  __909:
 41515  	goto __906
 41516  
 41517  __910:
 41518  __911:
 41519  __912:
 41520  __913:
 41521  __914:
 41522  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 41523  		goto __920
 41524  	}
 41525  	rrc = DMATCH_NOMATCH
 41526  	goto RETURN_SWITCH
 41527  __920:
 41528  	;
 41529  
 41530  	goto __906
 41531  __906:
 41532  	;
 41533  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41534  	goto __13
 41535  
 41536  __87:
 41537  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41538  		goto __921
 41539  	}
 41540  
 41541  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41542  		goto __922
 41543  	}
 41544  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41545  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41546  		goto __923
 41547  	}
 41548  	return -2
 41549  __923:
 41550  	;
 41551  __922:
 41552  	;
 41553  
 41554  	rrc = DMATCH_NOMATCH
 41555  	goto RETURN_SWITCH
 41556  
 41557  __921:
 41558  	;
 41559  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41560  	if !(utf != 0 && fc >= 0xc0) {
 41561  		goto __924
 41562  	}
 41563  	if !(fc&0x20 == Tuint32_t(0)) {
 41564  		goto __925
 41565  	}
 41566  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41567  	goto __926
 41568  __925:
 41569  	if !(fc&0x10 == Tuint32_t(0)) {
 41570  		goto __927
 41571  	}
 41572  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41573  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41574  	goto __928
 41575  __927:
 41576  	if !(fc&0x08 == Tuint32_t(0)) {
 41577  		goto __929
 41578  	}
 41579  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41580  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41581  	goto __930
 41582  __929:
 41583  	if !(fc&0x04 == Tuint32_t(0)) {
 41584  		goto __931
 41585  	}
 41586  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41587  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41588  	goto __932
 41589  __931:
 41590  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41591  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41592  __932:
 41593  	;
 41594  __930:
 41595  	;
 41596  __928:
 41597  	;
 41598  __926:
 41599  	;
 41600  __924:
 41601  	;
 41602  
 41603  	switch fc {
 41604  	case Tuint32_t('\011'):
 41605  		goto __934
 41606  	case Tuint32_t('\040'):
 41607  		goto __935
 41608  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 41609  		goto __936
 41610  	case Tuint32_t(0x1680):
 41611  		goto __937 /* OGHAM SPACE MARK */
 41612  	case Tuint32_t(0x180e):
 41613  		goto __938 /* MONGOLIAN VOWEL SEPARATOR */
 41614  	case Tuint32_t(0x2000):
 41615  		goto __939 /* EN QUAD */
 41616  	case Tuint32_t(0x2001):
 41617  		goto __940 /* EM QUAD */
 41618  	case Tuint32_t(0x2002):
 41619  		goto __941 /* EN SPACE */
 41620  	case Tuint32_t(0x2003):
 41621  		goto __942 /* EM SPACE */
 41622  	case Tuint32_t(0x2004):
 41623  		goto __943 /* THREE-PER-EM SPACE */
 41624  	case Tuint32_t(0x2005):
 41625  		goto __944 /* FOUR-PER-EM SPACE */
 41626  	case Tuint32_t(0x2006):
 41627  		goto __945 /* SIX-PER-EM SPACE */
 41628  	case Tuint32_t(0x2007):
 41629  		goto __946 /* FIGURE SPACE */
 41630  	case Tuint32_t(0x2008):
 41631  		goto __947 /* PUNCTUATION SPACE */
 41632  	case Tuint32_t(0x2009):
 41633  		goto __948 /* THIN SPACE */
 41634  	case Tuint32_t(0x200A):
 41635  		goto __949 /* HAIR SPACE */
 41636  	case Tuint32_t(0x202f):
 41637  		goto __950 /* NARROW NO-BREAK SPACE */
 41638  	case Tuint32_t(0x205f):
 41639  		goto __951 /* MEDIUM MATHEMATICAL SPACE */
 41640  	case Tuint32_t(0x3000):
 41641  		goto __952 // Byte and multibyte cases
 41642  	default:
 41643  		goto __953
 41644  	}
 41645  	goto __933
 41646  
 41647  __934:
 41648  __935:
 41649  __936:
 41650  __937: /* OGHAM SPACE MARK */
 41651  __938: /* MONGOLIAN VOWEL SEPARATOR */
 41652  __939: /* EN QUAD */
 41653  __940: /* EM QUAD */
 41654  __941: /* EN SPACE */
 41655  __942: /* EM SPACE */
 41656  __943: /* THREE-PER-EM SPACE */
 41657  __944: /* FOUR-PER-EM SPACE */
 41658  __945: /* SIX-PER-EM SPACE */
 41659  __946: /* FIGURE SPACE */
 41660  __947: /* PUNCTUATION SPACE */
 41661  __948: /* THIN SPACE */
 41662  __949: /* HAIR SPACE */
 41663  __950: /* NARROW NO-BREAK SPACE */
 41664  __951: /* MEDIUM MATHEMATICAL SPACE */
 41665  __952:
 41666  	rrc = DMATCH_NOMATCH
 41667  	goto RETURN_SWITCH
 41668  	// Byte and multibyte cases
 41669  __953:
 41670  	goto __933
 41671  __933:
 41672  	;
 41673  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41674  	goto __13
 41675  
 41676  __88:
 41677  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41678  		goto __954
 41679  	}
 41680  
 41681  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41682  		goto __955
 41683  	}
 41684  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41685  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41686  		goto __956
 41687  	}
 41688  	return -2
 41689  __956:
 41690  	;
 41691  __955:
 41692  	;
 41693  
 41694  	rrc = DMATCH_NOMATCH
 41695  	goto RETURN_SWITCH
 41696  
 41697  __954:
 41698  	;
 41699  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41700  	if !(utf != 0 && fc >= 0xc0) {
 41701  		goto __957
 41702  	}
 41703  	if !(fc&0x20 == Tuint32_t(0)) {
 41704  		goto __958
 41705  	}
 41706  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41707  	goto __959
 41708  __958:
 41709  	if !(fc&0x10 == Tuint32_t(0)) {
 41710  		goto __960
 41711  	}
 41712  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41713  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41714  	goto __961
 41715  __960:
 41716  	if !(fc&0x08 == Tuint32_t(0)) {
 41717  		goto __962
 41718  	}
 41719  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41720  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41721  	goto __963
 41722  __962:
 41723  	if !(fc&0x04 == Tuint32_t(0)) {
 41724  		goto __964
 41725  	}
 41726  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41727  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41728  	goto __965
 41729  __964:
 41730  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41731  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41732  __965:
 41733  	;
 41734  __963:
 41735  	;
 41736  __961:
 41737  	;
 41738  __959:
 41739  	;
 41740  __957:
 41741  	;
 41742  
 41743  	switch fc {
 41744  	case Tuint32_t('\011'):
 41745  		goto __967
 41746  	case Tuint32_t('\040'):
 41747  		goto __968
 41748  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 41749  		goto __969
 41750  	case Tuint32_t(0x1680):
 41751  		goto __970 /* OGHAM SPACE MARK */
 41752  	case Tuint32_t(0x180e):
 41753  		goto __971 /* MONGOLIAN VOWEL SEPARATOR */
 41754  	case Tuint32_t(0x2000):
 41755  		goto __972 /* EN QUAD */
 41756  	case Tuint32_t(0x2001):
 41757  		goto __973 /* EM QUAD */
 41758  	case Tuint32_t(0x2002):
 41759  		goto __974 /* EN SPACE */
 41760  	case Tuint32_t(0x2003):
 41761  		goto __975 /* EM SPACE */
 41762  	case Tuint32_t(0x2004):
 41763  		goto __976 /* THREE-PER-EM SPACE */
 41764  	case Tuint32_t(0x2005):
 41765  		goto __977 /* FOUR-PER-EM SPACE */
 41766  	case Tuint32_t(0x2006):
 41767  		goto __978 /* SIX-PER-EM SPACE */
 41768  	case Tuint32_t(0x2007):
 41769  		goto __979 /* FIGURE SPACE */
 41770  	case Tuint32_t(0x2008):
 41771  		goto __980 /* PUNCTUATION SPACE */
 41772  	case Tuint32_t(0x2009):
 41773  		goto __981 /* THIN SPACE */
 41774  	case Tuint32_t(0x200A):
 41775  		goto __982 /* HAIR SPACE */
 41776  	case Tuint32_t(0x202f):
 41777  		goto __983 /* NARROW NO-BREAK SPACE */
 41778  	case Tuint32_t(0x205f):
 41779  		goto __984 /* MEDIUM MATHEMATICAL SPACE */
 41780  	case Tuint32_t(0x3000):
 41781  		goto __985 // Byte and multibyte cases
 41782  	default:
 41783  		goto __986
 41784  	}
 41785  	goto __966
 41786  
 41787  __967:
 41788  __968:
 41789  __969:
 41790  __970: /* OGHAM SPACE MARK */
 41791  __971: /* MONGOLIAN VOWEL SEPARATOR */
 41792  __972: /* EN QUAD */
 41793  __973: /* EM QUAD */
 41794  __974: /* EN SPACE */
 41795  __975: /* EM SPACE */
 41796  __976: /* THREE-PER-EM SPACE */
 41797  __977: /* FOUR-PER-EM SPACE */
 41798  __978: /* SIX-PER-EM SPACE */
 41799  __979: /* FIGURE SPACE */
 41800  __980: /* PUNCTUATION SPACE */
 41801  __981: /* THIN SPACE */
 41802  __982: /* HAIR SPACE */
 41803  __983: /* NARROW NO-BREAK SPACE */
 41804  __984: /* MEDIUM MATHEMATICAL SPACE */
 41805  __985:
 41806  	goto __966 // Byte and multibyte cases
 41807  __986:
 41808  	rrc = DMATCH_NOMATCH
 41809  	goto RETURN_SWITCH
 41810  
 41811  __966:
 41812  	;
 41813  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41814  	goto __13
 41815  
 41816  __89:
 41817  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41818  		goto __987
 41819  	}
 41820  
 41821  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41822  		goto __988
 41823  	}
 41824  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41825  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41826  		goto __989
 41827  	}
 41828  	return -2
 41829  __989:
 41830  	;
 41831  __988:
 41832  	;
 41833  
 41834  	rrc = DMATCH_NOMATCH
 41835  	goto RETURN_SWITCH
 41836  
 41837  __987:
 41838  	;
 41839  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41840  	if !(utf != 0 && fc >= 0xc0) {
 41841  		goto __990
 41842  	}
 41843  	if !(fc&0x20 == Tuint32_t(0)) {
 41844  		goto __991
 41845  	}
 41846  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41847  	goto __992
 41848  __991:
 41849  	if !(fc&0x10 == Tuint32_t(0)) {
 41850  		goto __993
 41851  	}
 41852  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41853  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41854  	goto __994
 41855  __993:
 41856  	if !(fc&0x08 == Tuint32_t(0)) {
 41857  		goto __995
 41858  	}
 41859  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41860  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41861  	goto __996
 41862  __995:
 41863  	if !(fc&0x04 == Tuint32_t(0)) {
 41864  		goto __997
 41865  	}
 41866  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41867  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41868  	goto __998
 41869  __997:
 41870  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41871  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41872  __998:
 41873  	;
 41874  __996:
 41875  	;
 41876  __994:
 41877  	;
 41878  __992:
 41879  	;
 41880  __990:
 41881  	;
 41882  
 41883  	switch fc {
 41884  	case Tuint32_t('\012'):
 41885  		goto __1000
 41886  	case Tuint32_t('\013'):
 41887  		goto __1001
 41888  	case Tuint32_t('\014'):
 41889  		goto __1002
 41890  	case Tuint32_t('\015'):
 41891  		goto __1003
 41892  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41893  		goto __1004
 41894  	case Tuint32_t(0x2028):
 41895  		goto __1005 /* LINE SEPARATOR */
 41896  	case Tuint32_t(0x2029):
 41897  		goto __1006
 41898  	default:
 41899  		goto __1007
 41900  	}
 41901  	goto __999
 41902  
 41903  __1000:
 41904  __1001:
 41905  __1002:
 41906  __1003:
 41907  __1004:
 41908  __1005: /* LINE SEPARATOR */
 41909  __1006:
 41910  	rrc = DMATCH_NOMATCH
 41911  	goto RETURN_SWITCH
 41912  
 41913  __1007:
 41914  	goto __999
 41915  __999:
 41916  	;
 41917  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41918  	goto __13
 41919  
 41920  __90:
 41921  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41922  		goto __1008
 41923  	}
 41924  
 41925  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41926  		goto __1009
 41927  	}
 41928  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41929  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41930  		goto __1010
 41931  	}
 41932  	return -2
 41933  __1010:
 41934  	;
 41935  __1009:
 41936  	;
 41937  
 41938  	rrc = DMATCH_NOMATCH
 41939  	goto RETURN_SWITCH
 41940  
 41941  __1008:
 41942  	;
 41943  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41944  	if !(utf != 0 && fc >= 0xc0) {
 41945  		goto __1011
 41946  	}
 41947  	if !(fc&0x20 == Tuint32_t(0)) {
 41948  		goto __1012
 41949  	}
 41950  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41951  	goto __1013
 41952  __1012:
 41953  	if !(fc&0x10 == Tuint32_t(0)) {
 41954  		goto __1014
 41955  	}
 41956  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41957  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41958  	goto __1015
 41959  __1014:
 41960  	if !(fc&0x08 == Tuint32_t(0)) {
 41961  		goto __1016
 41962  	}
 41963  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41964  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41965  	goto __1017
 41966  __1016:
 41967  	if !(fc&0x04 == Tuint32_t(0)) {
 41968  		goto __1018
 41969  	}
 41970  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41971  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41972  	goto __1019
 41973  __1018:
 41974  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41975  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41976  __1019:
 41977  	;
 41978  __1017:
 41979  	;
 41980  __1015:
 41981  	;
 41982  __1013:
 41983  	;
 41984  __1011:
 41985  	;
 41986  
 41987  	switch fc {
 41988  	case Tuint32_t('\012'):
 41989  		goto __1021
 41990  	case Tuint32_t('\013'):
 41991  		goto __1022
 41992  	case Tuint32_t('\014'):
 41993  		goto __1023
 41994  	case Tuint32_t('\015'):
 41995  		goto __1024
 41996  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 41997  		goto __1025
 41998  	case Tuint32_t(0x2028):
 41999  		goto __1026 /* LINE SEPARATOR */
 42000  	case Tuint32_t(0x2029):
 42001  		goto __1027
 42002  	default:
 42003  		goto __1028
 42004  	}
 42005  	goto __1020
 42006  
 42007  __1021:
 42008  __1022:
 42009  __1023:
 42010  __1024:
 42011  __1025:
 42012  __1026: /* LINE SEPARATOR */
 42013  __1027:
 42014  	goto __1020
 42015  __1028:
 42016  	rrc = DMATCH_NOMATCH
 42017  	goto RETURN_SWITCH
 42018  
 42019  __1020:
 42020  	;
 42021  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42022  	goto __13
 42023  
 42024  	// =====================================================================
 42025  	// Check the next character by Unicode property. We will get here only
 42026  	//     if the support is in the binary; otherwise a compile-time error occurs.
 42027  
 42028  __91:
 42029  __92:
 42030  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42031  		goto __1029
 42032  	}
 42033  
 42034  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42035  		goto __1030
 42036  	}
 42037  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42038  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42039  		goto __1031
 42040  	}
 42041  	return -2
 42042  __1031:
 42043  	;
 42044  __1030:
 42045  	;
 42046  
 42047  	rrc = DMATCH_NOMATCH
 42048  	goto RETURN_SWITCH
 42049  
 42050  __1029:
 42051  	;
 42052  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42053  	if !(utf != 0 && fc >= 0xc0) {
 42054  		goto __1032
 42055  	}
 42056  	if !(fc&0x20 == Tuint32_t(0)) {
 42057  		goto __1033
 42058  	}
 42059  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42060  	goto __1034
 42061  __1033:
 42062  	if !(fc&0x10 == Tuint32_t(0)) {
 42063  		goto __1035
 42064  	}
 42065  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42066  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42067  	goto __1036
 42068  __1035:
 42069  	if !(fc&0x08 == Tuint32_t(0)) {
 42070  		goto __1037
 42071  	}
 42072  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42073  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42074  	goto __1038
 42075  __1037:
 42076  	if !(fc&0x04 == Tuint32_t(0)) {
 42077  		goto __1039
 42078  	}
 42079  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42080  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42081  	goto __1040
 42082  __1039:
 42083  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42084  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42085  __1040:
 42086  	;
 42087  __1038:
 42088  	;
 42089  __1036:
 42090  	;
 42091  __1034:
 42092  	;
 42093  __1032:
 42094  	;
 42095  
 42096  	prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 42097  	notmatch = libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTPROP)
 42098  
 42099  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) {
 42100  	case DPT_ANY:
 42101  		goto __1042
 42102  
 42103  	case DPT_LAMP:
 42104  		goto __1043
 42105  
 42106  	case DPT_GC:
 42107  		goto __1044
 42108  
 42109  	case DPT_PC:
 42110  		goto __1045
 42111  
 42112  	case DPT_SC:
 42113  		goto __1046
 42114  
 42115  	case DPT_SCX:
 42116  		goto __1047
 42117  
 42118  	// These are specials
 42119  
 42120  	case DPT_ALNUM:
 42121  		goto __1048
 42122  
 42123  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42124  	//         which means that Perl space and POSIX space are now identical. PCRE
 42125  	//         was changed at release 8.34.
 42126  
 42127  	case DPT_SPACE:
 42128  		goto __1049 // Perl space
 42129  	case DPT_PXSPACE:
 42130  		goto __1050
 42131  
 42132  	case DPT_WORD:
 42133  		goto __1051
 42134  
 42135  	case DPT_CLIST:
 42136  		goto __1052
 42137  
 42138  	case DPT_UCNC:
 42139  		goto __1053
 42140  
 42141  	case DPT_BIDICL:
 42142  		goto __1054
 42143  
 42144  	case DPT_BOOL:
 42145  		goto __1055
 42146  
 42147  	// This should never occur
 42148  
 42149  	default:
 42150  		goto __1056
 42151  	}
 42152  	goto __1041
 42153  
 42154  __1042:
 42155  	if !(notmatch != 0) {
 42156  		goto __1057
 42157  	}
 42158  	rrc = DMATCH_NOMATCH
 42159  	goto RETURN_SWITCH
 42160  __1057:
 42161  	;
 42162  
 42163  	goto __1041
 42164  
 42165  __1043:
 42166  	if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == notmatch) {
 42167  		goto __1058
 42168  	}
 42169  	rrc = DMATCH_NOMATCH
 42170  	goto RETURN_SWITCH
 42171  __1058:
 42172  	;
 42173  
 42174  	goto __1041
 42175  
 42176  __1044:
 42177  	if !(libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == notmatch) {
 42178  		goto __1059
 42179  	}
 42180  	rrc = DMATCH_NOMATCH
 42181  	goto RETURN_SWITCH
 42182  __1059:
 42183  	;
 42184  
 42185  	goto __1041
 42186  
 42187  __1045:
 42188  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == notmatch) {
 42189  		goto __1060
 42190  	}
 42191  	rrc = DMATCH_NOMATCH
 42192  	goto RETURN_SWITCH
 42193  __1060:
 42194  	;
 42195  
 42196  	goto __1041
 42197  
 42198  __1046:
 42199  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == notmatch) {
 42200  		goto __1061
 42201  	}
 42202  	rrc = DMATCH_NOMATCH
 42203  	goto RETURN_SWITCH
 42204  __1061:
 42205  	;
 42206  
 42207  	goto __1041
 42208  
 42209  __1047:
 42210  
 42211  	ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0))
 42212  	if !(ok == notmatch) {
 42213  		goto __1062
 42214  	}
 42215  	rrc = DMATCH_NOMATCH
 42216  	goto RETURN_SWITCH
 42217  __1062:
 42218  	;
 42219  
 42220  	goto __1041
 42221  
 42222  	// These are specials
 42223  
 42224  __1048:
 42225  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == notmatch) {
 42226  		goto __1063
 42227  	}
 42228  	rrc = DMATCH_NOMATCH
 42229  	goto RETURN_SWITCH
 42230  __1063:
 42231  	;
 42232  
 42233  	goto __1041
 42234  
 42235  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42236  	//         which means that Perl space and POSIX space are now identical. PCRE
 42237  	//         was changed at release 8.34.
 42238  
 42239  __1049: // Perl space
 42240  __1050: // POSIX space
 42241  	switch fc {
 42242  	case Tuint32_t('\011'):
 42243  		goto __1065
 42244  	case Tuint32_t('\040'):
 42245  		goto __1066
 42246  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 42247  		goto __1067
 42248  	case Tuint32_t(0x1680):
 42249  		goto __1068 /* OGHAM SPACE MARK */
 42250  	case Tuint32_t(0x180e):
 42251  		goto __1069 /* MONGOLIAN VOWEL SEPARATOR */
 42252  	case Tuint32_t(0x2000):
 42253  		goto __1070 /* EN QUAD */
 42254  	case Tuint32_t(0x2001):
 42255  		goto __1071 /* EM QUAD */
 42256  	case Tuint32_t(0x2002):
 42257  		goto __1072 /* EN SPACE */
 42258  	case Tuint32_t(0x2003):
 42259  		goto __1073 /* EM SPACE */
 42260  	case Tuint32_t(0x2004):
 42261  		goto __1074 /* THREE-PER-EM SPACE */
 42262  	case Tuint32_t(0x2005):
 42263  		goto __1075 /* FOUR-PER-EM SPACE */
 42264  	case Tuint32_t(0x2006):
 42265  		goto __1076 /* SIX-PER-EM SPACE */
 42266  	case Tuint32_t(0x2007):
 42267  		goto __1077 /* FIGURE SPACE */
 42268  	case Tuint32_t(0x2008):
 42269  		goto __1078 /* PUNCTUATION SPACE */
 42270  	case Tuint32_t(0x2009):
 42271  		goto __1079 /* THIN SPACE */
 42272  	case Tuint32_t(0x200A):
 42273  		goto __1080 /* HAIR SPACE */
 42274  	case Tuint32_t(0x202f):
 42275  		goto __1081 /* NARROW NO-BREAK SPACE */
 42276  	case Tuint32_t(0x205f):
 42277  		goto __1082 /* MEDIUM MATHEMATICAL SPACE */
 42278  	case Tuint32_t(0x3000):
 42279  		goto __1083
 42280  	case Tuint32_t('\012'):
 42281  		goto __1084
 42282  	case Tuint32_t('\013'):
 42283  		goto __1085
 42284  	case Tuint32_t('\014'):
 42285  		goto __1086
 42286  	case Tuint32_t('\015'):
 42287  		goto __1087
 42288  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 42289  		goto __1088
 42290  	case Tuint32_t(0x2028):
 42291  		goto __1089 /* LINE SEPARATOR */
 42292  	case Tuint32_t(0x2029):
 42293  		goto __1090
 42294  
 42295  	default:
 42296  		goto __1091
 42297  	}
 42298  	goto __1064
 42299  
 42300  __1065:
 42301  __1066:
 42302  __1067:
 42303  __1068: /* OGHAM SPACE MARK */
 42304  __1069: /* MONGOLIAN VOWEL SEPARATOR */
 42305  __1070: /* EN QUAD */
 42306  __1071: /* EM QUAD */
 42307  __1072: /* EN SPACE */
 42308  __1073: /* EM SPACE */
 42309  __1074: /* THREE-PER-EM SPACE */
 42310  __1075: /* FOUR-PER-EM SPACE */
 42311  __1076: /* SIX-PER-EM SPACE */
 42312  __1077: /* FIGURE SPACE */
 42313  __1078: /* PUNCTUATION SPACE */
 42314  __1079: /* THIN SPACE */
 42315  __1080: /* HAIR SPACE */
 42316  __1081: /* NARROW NO-BREAK SPACE */
 42317  __1082: /* MEDIUM MATHEMATICAL SPACE */
 42318  __1083:
 42319  __1084:
 42320  __1085:
 42321  __1086:
 42322  __1087:
 42323  __1088:
 42324  __1089: /* LINE SEPARATOR */
 42325  __1090:
 42326  	if !(notmatch != 0) {
 42327  		goto __1092
 42328  	}
 42329  	rrc = DMATCH_NOMATCH
 42330  	goto RETURN_SWITCH
 42331  __1092:
 42332  	;
 42333  
 42334  	goto __1064
 42335  
 42336  __1091:
 42337  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == notmatch) {
 42338  		goto __1093
 42339  	}
 42340  	rrc = DMATCH_NOMATCH
 42341  	goto RETURN_SWITCH
 42342  __1093:
 42343  	;
 42344  
 42345  	goto __1064
 42346  __1064:
 42347  	;
 42348  	goto __1041
 42349  
 42350  __1051:
 42351  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || fc == Tuint32_t('\137')) == notmatch) {
 42352  		goto __1094
 42353  	}
 42354  	rrc = DMATCH_NOMATCH
 42355  	goto RETURN_SWITCH
 42356  __1094:
 42357  	;
 42358  
 42359  	goto __1041
 42360  
 42361  __1052:
 42362  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))*4
 42363  __1095:
 42364  
 42365  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 42366  		goto __1098
 42367  	}
 42368  	if !(notmatch != 0) {
 42369  		goto __1099
 42370  	}
 42371  	goto __1097
 42372  	goto __1100
 42373  __1099:
 42374  	rrc = DMATCH_NOMATCH
 42375  	goto RETURN_SWITCH
 42376  __1100:
 42377  	;
 42378  __1098:
 42379  	;
 42380  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 42381  		goto __1101
 42382  	}
 42383  	if !(notmatch != 0) {
 42384  		goto __1102
 42385  	}
 42386  	rrc = DMATCH_NOMATCH
 42387  	goto RETURN_SWITCH
 42388  	goto __1103
 42389  __1102:
 42390  	goto __1097
 42391  __1103:
 42392  	;
 42393  __1101:
 42394  	;
 42395  	goto __1096
 42396  __1096:
 42397  	goto __1095
 42398  	goto __1097
 42399  __1097:
 42400  	;
 42401  	goto __1041
 42402  
 42403  __1053:
 42404  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch) {
 42405  		goto __1104
 42406  	}
 42407  	rrc = DMATCH_NOMATCH
 42408  	goto RETURN_SWITCH
 42409  __1104:
 42410  	;
 42411  
 42412  	goto __1041
 42413  
 42414  __1054:
 42415  	if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) == notmatch) {
 42416  		goto __1105
 42417  	}
 42418  	rrc = DMATCH_NOMATCH
 42419  	goto RETURN_SWITCH
 42420  __1105:
 42421  	;
 42422  
 42423  	goto __1041
 42424  
 42425  __1055:
 42426  
 42427  	ok1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0))
 42428  	if !(ok1 == notmatch) {
 42429  		goto __1106
 42430  	}
 42431  	rrc = DMATCH_NOMATCH
 42432  	goto RETURN_SWITCH
 42433  __1106:
 42434  	;
 42435  
 42436  	goto __1041
 42437  
 42438  	// This should never occur
 42439  
 42440  __1056:
 42441  	return -44
 42442  __1041:
 42443  	;
 42444  
 42445  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 42446  
 42447  	goto __13
 42448  
 42449  	// =====================================================================
 42450  	// Match an extended Unicode sequence. We will get here only if the support
 42451  	//     is in the binary; otherwise a compile-time error occurs.
 42452  
 42453  __93:
 42454  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42455  		goto __1107
 42456  	}
 42457  
 42458  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42459  		goto __1109
 42460  	}
 42461  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42462  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42463  		goto __1110
 42464  	}
 42465  	return -2
 42466  __1110:
 42467  	;
 42468  __1109:
 42469  	;
 42470  
 42471  	rrc = DMATCH_NOMATCH
 42472  	goto RETURN_SWITCH
 42473  
 42474  	goto __1108
 42475  __1107:
 42476  
 42477  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42478  	if !(utf != 0 && fc >= 0xc0) {
 42479  		goto __1111
 42480  	}
 42481  	if !(fc&0x20 == Tuint32_t(0)) {
 42482  		goto __1112
 42483  	}
 42484  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42485  	goto __1113
 42486  __1112:
 42487  	if !(fc&0x10 == Tuint32_t(0)) {
 42488  		goto __1114
 42489  	}
 42490  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42492  	goto __1115
 42493  __1114:
 42494  	if !(fc&0x08 == Tuint32_t(0)) {
 42495  		goto __1116
 42496  	}
 42497  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42498  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42499  	goto __1117
 42500  __1116:
 42501  	if !(fc&0x04 == Tuint32_t(0)) {
 42502  		goto __1118
 42503  	}
 42504  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42505  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42506  	goto __1119
 42507  __1118:
 42508  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42510  __1119:
 42511  	;
 42512  __1117:
 42513  	;
 42514  __1115:
 42515  	;
 42516  __1113:
 42517  	;
 42518  __1111:
 42519  	;
 42520  
 42521  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf,
 42522  		uintptr(0))
 42523  __1108:
 42524  	;
 42525  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42526  		goto __1120
 42527  	}
 42528  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42529  		goto __1121
 42530  	}
 42531  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42532  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42533  		goto __1122
 42534  	}
 42535  	return -2
 42536  __1122:
 42537  	;
 42538  __1121:
 42539  	;
 42540  __1120:
 42541  	;
 42542  
 42543  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42544  	goto __13
 42545  
 42546  	// =====================================================================
 42547  	// Match a single character type repeatedly. Note that the property type
 42548  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 42549  	//     loop.
 42550  
 42551  __94:
 42552  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 42553  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42554  	goto REPEATTYPE
 42555  
 42556  __95:
 42557  __96:
 42558  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42559  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 42560  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_TYPEMINUPTO {
 42561  		reptype = REPTYPE_MIN
 42562  	} else {
 42563  		reptype = REPTYPE_MAX
 42564  	}
 42565  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42566  	goto REPEATTYPE
 42567  
 42568  __97:
 42569  	reptype = REPTYPE_POS
 42570  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42571  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 42572  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42573  	goto REPEATTYPE
 42574  
 42575  __98:
 42576  	reptype = REPTYPE_POS
 42577  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 42578  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 42579  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42580  	goto REPEATTYPE
 42581  
 42582  __99:
 42583  	reptype = REPTYPE_POS
 42584  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42585  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 42586  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42587  	goto REPEATTYPE
 42588  
 42589  __100:
 42590  	reptype = REPTYPE_POS
 42591  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42592  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 42593  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42594  	goto REPEATTYPE
 42595  
 42596  __101:
 42597  __102:
 42598  __103:
 42599  __104:
 42600  __105:
 42601  __106:
 42602  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_TYPESTAR)
 42603  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 42604  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 42605  	reptype = rep_typ[fc]
 42606  
 42607  	// Common code for all repeated character type matches.
 42608  
 42609  REPEATTYPE:
 42610  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) // Code for the character type
 42611  
 42612  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_PROP || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 42613  		goto __1123
 42614  	}
 42615  
 42616  	proptype = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42617  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42618  	goto __1124
 42619  __1123:
 42620  	proptype = -1
 42621  __1124:
 42622  	;
 42623  
 42624  	// First, ensure the minimum number of matches are present. Use inline
 42625  	//     code for maximizing the speed, and do the type test once at the start
 42626  	//     (i.e. keep it out of the loops). As there are no calls to RMATCH in the
 42627  	//     loops, we can use an ordinary variable for "notmatch". The code for UTF
 42628  	//     mode is separated out for tidiness, except for Unicode property tests.
 42629  
 42630  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) > Tuint32_t(0)) {
 42631  		goto __1125
 42632  	}
 42633  
 42634  	if !(proptype >= 0) {
 42635  		goto __1126
 42636  	} /* Property tests in all modes */
 42637  
 42638  	notmatch1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)
 42639  	switch proptype {
 42640  	case DPT_ANY:
 42641  		goto __1129
 42642  
 42643  	case DPT_LAMP:
 42644  		goto __1130
 42645  
 42646  	case DPT_GC:
 42647  		goto __1131
 42648  
 42649  	case DPT_PC:
 42650  		goto __1132
 42651  
 42652  	case DPT_SC:
 42653  		goto __1133
 42654  
 42655  	case DPT_SCX:
 42656  		goto __1134
 42657  
 42658  	case DPT_ALNUM:
 42659  		goto __1135
 42660  
 42661  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42662  	//           which means that Perl space and POSIX space are now identical. PCRE
 42663  	//           was changed at release 8.34.
 42664  
 42665  	case DPT_SPACE:
 42666  		goto __1136 // Perl space
 42667  	case DPT_PXSPACE:
 42668  		goto __1137
 42669  
 42670  	case DPT_WORD:
 42671  		goto __1138
 42672  
 42673  	case DPT_CLIST:
 42674  		goto __1139
 42675  
 42676  	case DPT_UCNC:
 42677  		goto __1140
 42678  
 42679  	case DPT_BIDICL:
 42680  		goto __1141
 42681  
 42682  	case DPT_BOOL:
 42683  		goto __1142
 42684  
 42685  	// This should not occur
 42686  
 42687  	default:
 42688  		goto __1143
 42689  	}
 42690  	goto __1128
 42691  
 42692  __1129:
 42693  	if !(notmatch1 != 0) {
 42694  		goto __1144
 42695  	}
 42696  	rrc = DMATCH_NOMATCH
 42697  	goto RETURN_SWITCH
 42698  __1144:
 42699  	;
 42700  
 42701  	i = Tuint32_t(1)
 42702  __1145:
 42703  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42704  		goto __1147
 42705  	}
 42706  
 42707  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42708  		goto __1148
 42709  	}
 42710  
 42711  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42712  		goto __1149
 42713  	}
 42714  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42715  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42716  		goto __1150
 42717  	}
 42718  	return -2
 42719  __1150:
 42720  	;
 42721  __1149:
 42722  	;
 42723  
 42724  	rrc = DMATCH_NOMATCH
 42725  	goto RETURN_SWITCH
 42726  
 42727  __1148:
 42728  	;
 42729  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42730  	if !(utf != 0 && fc >= 0xc0) {
 42731  		goto __1151
 42732  	}
 42733  	if !(fc&0x20 == Tuint32_t(0)) {
 42734  		goto __1152
 42735  	}
 42736  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42737  	goto __1153
 42738  __1152:
 42739  	if !(fc&0x10 == Tuint32_t(0)) {
 42740  		goto __1154
 42741  	}
 42742  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42743  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42744  	goto __1155
 42745  __1154:
 42746  	if !(fc&0x08 == Tuint32_t(0)) {
 42747  		goto __1156
 42748  	}
 42749  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42750  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42751  	goto __1157
 42752  __1156:
 42753  	if !(fc&0x04 == Tuint32_t(0)) {
 42754  		goto __1158
 42755  	}
 42756  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42757  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42758  	goto __1159
 42759  __1158:
 42760  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42761  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42762  __1159:
 42763  	;
 42764  __1157:
 42765  	;
 42766  __1155:
 42767  	;
 42768  __1153:
 42769  	;
 42770  __1151:
 42771  	;
 42772  
 42773  	goto __1146
 42774  __1146:
 42775  	i++
 42776  	goto __1145
 42777  	goto __1147
 42778  __1147:
 42779  	;
 42780  	goto __1128
 42781  
 42782  __1130:
 42783  	i = Tuint32_t(1)
 42784  __1160:
 42785  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42786  		goto __1162
 42787  	}
 42788  
 42789  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42790  		goto __1163
 42791  	}
 42792  
 42793  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42794  		goto __1164
 42795  	}
 42796  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42797  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42798  		goto __1165
 42799  	}
 42800  	return -2
 42801  __1165:
 42802  	;
 42803  __1164:
 42804  	;
 42805  
 42806  	rrc = DMATCH_NOMATCH
 42807  	goto RETURN_SWITCH
 42808  
 42809  __1163:
 42810  	;
 42811  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42812  	if !(utf != 0 && fc >= 0xc0) {
 42813  		goto __1166
 42814  	}
 42815  	if !(fc&0x20 == Tuint32_t(0)) {
 42816  		goto __1167
 42817  	}
 42818  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42819  	goto __1168
 42820  __1167:
 42821  	if !(fc&0x10 == Tuint32_t(0)) {
 42822  		goto __1169
 42823  	}
 42824  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42825  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42826  	goto __1170
 42827  __1169:
 42828  	if !(fc&0x08 == Tuint32_t(0)) {
 42829  		goto __1171
 42830  	}
 42831  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42832  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42833  	goto __1172
 42834  __1171:
 42835  	if !(fc&0x04 == Tuint32_t(0)) {
 42836  		goto __1173
 42837  	}
 42838  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42839  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42840  	goto __1174
 42841  __1173:
 42842  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42843  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42844  __1174:
 42845  	;
 42846  __1172:
 42847  	;
 42848  __1170:
 42849  	;
 42850  __1168:
 42851  	;
 42852  __1166:
 42853  	;
 42854  
 42855  	chartype = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 42856  	if !(libc.Bool32(chartype == ucp_Lu || chartype == ucp_Ll || chartype == ucp_Lt) == notmatch1) {
 42857  		goto __1175
 42858  	}
 42859  	rrc = DMATCH_NOMATCH
 42860  	goto RETURN_SWITCH
 42861  __1175:
 42862  	;
 42863  
 42864  	goto __1161
 42865  __1161:
 42866  	i++
 42867  	goto __1160
 42868  	goto __1162
 42869  __1162:
 42870  	;
 42871  	goto __1128
 42872  
 42873  __1131:
 42874  	i = Tuint32_t(1)
 42875  __1176:
 42876  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42877  		goto __1178
 42878  	}
 42879  
 42880  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42881  		goto __1179
 42882  	}
 42883  
 42884  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42885  		goto __1180
 42886  	}
 42887  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42888  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42889  		goto __1181
 42890  	}
 42891  	return -2
 42892  __1181:
 42893  	;
 42894  __1180:
 42895  	;
 42896  
 42897  	rrc = DMATCH_NOMATCH
 42898  	goto RETURN_SWITCH
 42899  
 42900  __1179:
 42901  	;
 42902  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42903  	if !(utf != 0 && fc >= 0xc0) {
 42904  		goto __1182
 42905  	}
 42906  	if !(fc&0x20 == Tuint32_t(0)) {
 42907  		goto __1183
 42908  	}
 42909  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42910  	goto __1184
 42911  __1183:
 42912  	if !(fc&0x10 == Tuint32_t(0)) {
 42913  		goto __1185
 42914  	}
 42915  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42916  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42917  	goto __1186
 42918  __1185:
 42919  	if !(fc&0x08 == Tuint32_t(0)) {
 42920  		goto __1187
 42921  	}
 42922  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42923  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42924  	goto __1188
 42925  __1187:
 42926  	if !(fc&0x04 == Tuint32_t(0)) {
 42927  		goto __1189
 42928  	}
 42929  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42930  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42931  	goto __1190
 42932  __1189:
 42933  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42934  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42935  __1190:
 42936  	;
 42937  __1188:
 42938  	;
 42939  __1186:
 42940  	;
 42941  __1184:
 42942  	;
 42943  __1182:
 42944  	;
 42945  
 42946  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 42947  		goto __1191
 42948  	}
 42949  	rrc = DMATCH_NOMATCH
 42950  	goto RETURN_SWITCH
 42951  __1191:
 42952  	;
 42953  
 42954  	goto __1177
 42955  __1177:
 42956  	i++
 42957  	goto __1176
 42958  	goto __1178
 42959  __1178:
 42960  	;
 42961  	goto __1128
 42962  
 42963  __1132:
 42964  	i = Tuint32_t(1)
 42965  __1192:
 42966  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42967  		goto __1194
 42968  	}
 42969  
 42970  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42971  		goto __1195
 42972  	}
 42973  
 42974  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42975  		goto __1196
 42976  	}
 42977  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42978  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42979  		goto __1197
 42980  	}
 42981  	return -2
 42982  __1197:
 42983  	;
 42984  __1196:
 42985  	;
 42986  
 42987  	rrc = DMATCH_NOMATCH
 42988  	goto RETURN_SWITCH
 42989  
 42990  __1195:
 42991  	;
 42992  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42993  	if !(utf != 0 && fc >= 0xc0) {
 42994  		goto __1198
 42995  	}
 42996  	if !(fc&0x20 == Tuint32_t(0)) {
 42997  		goto __1199
 42998  	}
 42999  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43000  	goto __1200
 43001  __1199:
 43002  	if !(fc&0x10 == Tuint32_t(0)) {
 43003  		goto __1201
 43004  	}
 43005  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43006  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43007  	goto __1202
 43008  __1201:
 43009  	if !(fc&0x08 == Tuint32_t(0)) {
 43010  		goto __1203
 43011  	}
 43012  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43013  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43014  	goto __1204
 43015  __1203:
 43016  	if !(fc&0x04 == Tuint32_t(0)) {
 43017  		goto __1205
 43018  	}
 43019  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43020  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43021  	goto __1206
 43022  __1205:
 43023  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43024  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43025  __1206:
 43026  	;
 43027  __1204:
 43028  	;
 43029  __1202:
 43030  	;
 43031  __1200:
 43032  	;
 43033  __1198:
 43034  	;
 43035  
 43036  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43037  		goto __1207
 43038  	}
 43039  	rrc = DMATCH_NOMATCH
 43040  	goto RETURN_SWITCH
 43041  __1207:
 43042  	;
 43043  
 43044  	goto __1193
 43045  __1193:
 43046  	i++
 43047  	goto __1192
 43048  	goto __1194
 43049  __1194:
 43050  	;
 43051  	goto __1128
 43052  
 43053  __1133:
 43054  	i = Tuint32_t(1)
 43055  __1208:
 43056  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43057  		goto __1210
 43058  	}
 43059  
 43060  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43061  		goto __1211
 43062  	}
 43063  
 43064  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43065  		goto __1212
 43066  	}
 43067  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43068  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43069  		goto __1213
 43070  	}
 43071  	return -2
 43072  __1213:
 43073  	;
 43074  __1212:
 43075  	;
 43076  
 43077  	rrc = DMATCH_NOMATCH
 43078  	goto RETURN_SWITCH
 43079  
 43080  __1211:
 43081  	;
 43082  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43083  	if !(utf != 0 && fc >= 0xc0) {
 43084  		goto __1214
 43085  	}
 43086  	if !(fc&0x20 == Tuint32_t(0)) {
 43087  		goto __1215
 43088  	}
 43089  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43090  	goto __1216
 43091  __1215:
 43092  	if !(fc&0x10 == Tuint32_t(0)) {
 43093  		goto __1217
 43094  	}
 43095  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43096  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43097  	goto __1218
 43098  __1217:
 43099  	if !(fc&0x08 == Tuint32_t(0)) {
 43100  		goto __1219
 43101  	}
 43102  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43103  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43104  	goto __1220
 43105  __1219:
 43106  	if !(fc&0x04 == Tuint32_t(0)) {
 43107  		goto __1221
 43108  	}
 43109  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43110  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43111  	goto __1222
 43112  __1221:
 43113  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43114  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43115  __1222:
 43116  	;
 43117  __1220:
 43118  	;
 43119  __1218:
 43120  	;
 43121  __1216:
 43122  	;
 43123  __1214:
 43124  	;
 43125  
 43126  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43127  		goto __1223
 43128  	}
 43129  	rrc = DMATCH_NOMATCH
 43130  	goto RETURN_SWITCH
 43131  __1223:
 43132  	;
 43133  
 43134  	goto __1209
 43135  __1209:
 43136  	i++
 43137  	goto __1208
 43138  	goto __1210
 43139  __1210:
 43140  	;
 43141  	goto __1128
 43142  
 43143  __1134:
 43144  	i = Tuint32_t(1)
 43145  __1224:
 43146  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43147  		goto __1226
 43148  	}
 43149  
 43150  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43151  		goto __1227
 43152  	}
 43153  
 43154  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43155  		goto __1228
 43156  	}
 43157  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43158  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43159  		goto __1229
 43160  	}
 43161  	return -2
 43162  __1229:
 43163  	;
 43164  __1228:
 43165  	;
 43166  
 43167  	rrc = DMATCH_NOMATCH
 43168  	goto RETURN_SWITCH
 43169  
 43170  __1227:
 43171  	;
 43172  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43173  	if !(utf != 0 && fc >= 0xc0) {
 43174  		goto __1230
 43175  	}
 43176  	if !(fc&0x20 == Tuint32_t(0)) {
 43177  		goto __1231
 43178  	}
 43179  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43180  	goto __1232
 43181  __1231:
 43182  	if !(fc&0x10 == Tuint32_t(0)) {
 43183  		goto __1233
 43184  	}
 43185  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43186  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43187  	goto __1234
 43188  __1233:
 43189  	if !(fc&0x08 == Tuint32_t(0)) {
 43190  		goto __1235
 43191  	}
 43192  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43193  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43194  	goto __1236
 43195  __1235:
 43196  	if !(fc&0x04 == Tuint32_t(0)) {
 43197  		goto __1237
 43198  	}
 43199  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43200  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43201  	goto __1238
 43202  __1237:
 43203  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43204  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43205  __1238:
 43206  	;
 43207  __1236:
 43208  	;
 43209  __1234:
 43210  	;
 43211  __1232:
 43212  	;
 43213  __1230:
 43214  	;
 43215  
 43216  	prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 43217  	ok2 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43218  	if !(ok2 == notmatch1) {
 43219  		goto __1239
 43220  	}
 43221  	rrc = DMATCH_NOMATCH
 43222  	goto RETURN_SWITCH
 43223  __1239:
 43224  	;
 43225  
 43226  	goto __1225
 43227  __1225:
 43228  	i++
 43229  	goto __1224
 43230  	goto __1226
 43231  __1226:
 43232  	;
 43233  	goto __1128
 43234  
 43235  __1135:
 43236  	i = Tuint32_t(1)
 43237  __1240:
 43238  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43239  		goto __1242
 43240  	}
 43241  
 43242  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43243  		goto __1243
 43244  	}
 43245  
 43246  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43247  		goto __1244
 43248  	}
 43249  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43250  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43251  		goto __1245
 43252  	}
 43253  	return -2
 43254  __1245:
 43255  	;
 43256  __1244:
 43257  	;
 43258  
 43259  	rrc = DMATCH_NOMATCH
 43260  	goto RETURN_SWITCH
 43261  
 43262  __1243:
 43263  	;
 43264  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43265  	if !(utf != 0 && fc >= 0xc0) {
 43266  		goto __1246
 43267  	}
 43268  	if !(fc&0x20 == Tuint32_t(0)) {
 43269  		goto __1247
 43270  	}
 43271  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43272  	goto __1248
 43273  __1247:
 43274  	if !(fc&0x10 == Tuint32_t(0)) {
 43275  		goto __1249
 43276  	}
 43277  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43278  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43279  	goto __1250
 43280  __1249:
 43281  	if !(fc&0x08 == Tuint32_t(0)) {
 43282  		goto __1251
 43283  	}
 43284  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43285  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43286  	goto __1252
 43287  __1251:
 43288  	if !(fc&0x04 == Tuint32_t(0)) {
 43289  		goto __1253
 43290  	}
 43291  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43292  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43293  	goto __1254
 43294  __1253:
 43295  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43296  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43297  __1254:
 43298  	;
 43299  __1252:
 43300  	;
 43301  __1250:
 43302  	;
 43303  __1248:
 43304  	;
 43305  __1246:
 43306  	;
 43307  
 43308  	category = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 43309  	if !(libc.Bool32(category == ucp_L || category == ucp_N) == notmatch1) {
 43310  		goto __1255
 43311  	}
 43312  	rrc = DMATCH_NOMATCH
 43313  	goto RETURN_SWITCH
 43314  __1255:
 43315  	;
 43316  
 43317  	goto __1241
 43318  __1241:
 43319  	i++
 43320  	goto __1240
 43321  	goto __1242
 43322  __1242:
 43323  	;
 43324  	goto __1128
 43325  
 43326  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 43327  	//           which means that Perl space and POSIX space are now identical. PCRE
 43328  	//           was changed at release 8.34.
 43329  
 43330  __1136: // Perl space
 43331  __1137: // POSIX space
 43332  	i = Tuint32_t(1)
 43333  __1256:
 43334  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43335  		goto __1258
 43336  	}
 43337  
 43338  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43339  		goto __1259
 43340  	}
 43341  
 43342  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43343  		goto __1260
 43344  	}
 43345  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43346  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43347  		goto __1261
 43348  	}
 43349  	return -2
 43350  __1261:
 43351  	;
 43352  __1260:
 43353  	;
 43354  
 43355  	rrc = DMATCH_NOMATCH
 43356  	goto RETURN_SWITCH
 43357  
 43358  __1259:
 43359  	;
 43360  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43361  	if !(utf != 0 && fc >= 0xc0) {
 43362  		goto __1262
 43363  	}
 43364  	if !(fc&0x20 == Tuint32_t(0)) {
 43365  		goto __1263
 43366  	}
 43367  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43368  	goto __1264
 43369  __1263:
 43370  	if !(fc&0x10 == Tuint32_t(0)) {
 43371  		goto __1265
 43372  	}
 43373  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43374  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43375  	goto __1266
 43376  __1265:
 43377  	if !(fc&0x08 == Tuint32_t(0)) {
 43378  		goto __1267
 43379  	}
 43380  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43381  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43382  	goto __1268
 43383  __1267:
 43384  	if !(fc&0x04 == Tuint32_t(0)) {
 43385  		goto __1269
 43386  	}
 43387  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43388  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43389  	goto __1270
 43390  __1269:
 43391  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43392  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43393  __1270:
 43394  	;
 43395  __1268:
 43396  	;
 43397  __1266:
 43398  	;
 43399  __1264:
 43400  	;
 43401  __1262:
 43402  	;
 43403  
 43404  	switch fc {
 43405  	case Tuint32_t('\011'):
 43406  		goto __1272
 43407  	case Tuint32_t('\040'):
 43408  		goto __1273
 43409  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 43410  		goto __1274
 43411  	case Tuint32_t(0x1680):
 43412  		goto __1275 /* OGHAM SPACE MARK */
 43413  	case Tuint32_t(0x180e):
 43414  		goto __1276 /* MONGOLIAN VOWEL SEPARATOR */
 43415  	case Tuint32_t(0x2000):
 43416  		goto __1277 /* EN QUAD */
 43417  	case Tuint32_t(0x2001):
 43418  		goto __1278 /* EM QUAD */
 43419  	case Tuint32_t(0x2002):
 43420  		goto __1279 /* EN SPACE */
 43421  	case Tuint32_t(0x2003):
 43422  		goto __1280 /* EM SPACE */
 43423  	case Tuint32_t(0x2004):
 43424  		goto __1281 /* THREE-PER-EM SPACE */
 43425  	case Tuint32_t(0x2005):
 43426  		goto __1282 /* FOUR-PER-EM SPACE */
 43427  	case Tuint32_t(0x2006):
 43428  		goto __1283 /* SIX-PER-EM SPACE */
 43429  	case Tuint32_t(0x2007):
 43430  		goto __1284 /* FIGURE SPACE */
 43431  	case Tuint32_t(0x2008):
 43432  		goto __1285 /* PUNCTUATION SPACE */
 43433  	case Tuint32_t(0x2009):
 43434  		goto __1286 /* THIN SPACE */
 43435  	case Tuint32_t(0x200A):
 43436  		goto __1287 /* HAIR SPACE */
 43437  	case Tuint32_t(0x202f):
 43438  		goto __1288 /* NARROW NO-BREAK SPACE */
 43439  	case Tuint32_t(0x205f):
 43440  		goto __1289 /* MEDIUM MATHEMATICAL SPACE */
 43441  	case Tuint32_t(0x3000):
 43442  		goto __1290
 43443  	case Tuint32_t('\012'):
 43444  		goto __1291
 43445  	case Tuint32_t('\013'):
 43446  		goto __1292
 43447  	case Tuint32_t('\014'):
 43448  		goto __1293
 43449  	case Tuint32_t('\015'):
 43450  		goto __1294
 43451  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 43452  		goto __1295
 43453  	case Tuint32_t(0x2028):
 43454  		goto __1296 /* LINE SEPARATOR */
 43455  	case Tuint32_t(0x2029):
 43456  		goto __1297
 43457  
 43458  	default:
 43459  		goto __1298
 43460  	}
 43461  	goto __1271
 43462  
 43463  __1272:
 43464  __1273:
 43465  __1274:
 43466  __1275: /* OGHAM SPACE MARK */
 43467  __1276: /* MONGOLIAN VOWEL SEPARATOR */
 43468  __1277: /* EN QUAD */
 43469  __1278: /* EM QUAD */
 43470  __1279: /* EN SPACE */
 43471  __1280: /* EM SPACE */
 43472  __1281: /* THREE-PER-EM SPACE */
 43473  __1282: /* FOUR-PER-EM SPACE */
 43474  __1283: /* SIX-PER-EM SPACE */
 43475  __1284: /* FIGURE SPACE */
 43476  __1285: /* PUNCTUATION SPACE */
 43477  __1286: /* THIN SPACE */
 43478  __1287: /* HAIR SPACE */
 43479  __1288: /* NARROW NO-BREAK SPACE */
 43480  __1289: /* MEDIUM MATHEMATICAL SPACE */
 43481  __1290:
 43482  __1291:
 43483  __1292:
 43484  __1293:
 43485  __1294:
 43486  __1295:
 43487  __1296: /* LINE SEPARATOR */
 43488  __1297:
 43489  	if !(notmatch1 != 0) {
 43490  		goto __1299
 43491  	}
 43492  	rrc = DMATCH_NOMATCH
 43493  	goto RETURN_SWITCH
 43494  __1299:
 43495  	;
 43496  
 43497  	goto __1271
 43498  
 43499  __1298:
 43500  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch1) {
 43501  		goto __1300
 43502  	}
 43503  	rrc = DMATCH_NOMATCH
 43504  	goto RETURN_SWITCH
 43505  __1300:
 43506  	;
 43507  
 43508  	goto __1271
 43509  __1271:
 43510  	;
 43511  	goto __1257
 43512  __1257:
 43513  	i++
 43514  	goto __1256
 43515  	goto __1258
 43516  __1258:
 43517  	;
 43518  	goto __1128
 43519  
 43520  __1138:
 43521  	i = Tuint32_t(1)
 43522  __1301:
 43523  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43524  		goto __1303
 43525  	}
 43526  
 43527  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43528  		goto __1304
 43529  	}
 43530  
 43531  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43532  		goto __1305
 43533  	}
 43534  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43535  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43536  		goto __1306
 43537  	}
 43538  	return -2
 43539  __1306:
 43540  	;
 43541  __1305:
 43542  	;
 43543  
 43544  	rrc = DMATCH_NOMATCH
 43545  	goto RETURN_SWITCH
 43546  
 43547  __1304:
 43548  	;
 43549  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43550  	if !(utf != 0 && fc >= 0xc0) {
 43551  		goto __1307
 43552  	}
 43553  	if !(fc&0x20 == Tuint32_t(0)) {
 43554  		goto __1308
 43555  	}
 43556  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43557  	goto __1309
 43558  __1308:
 43559  	if !(fc&0x10 == Tuint32_t(0)) {
 43560  		goto __1310
 43561  	}
 43562  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43563  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43564  	goto __1311
 43565  __1310:
 43566  	if !(fc&0x08 == Tuint32_t(0)) {
 43567  		goto __1312
 43568  	}
 43569  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43570  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43571  	goto __1313
 43572  __1312:
 43573  	if !(fc&0x04 == Tuint32_t(0)) {
 43574  		goto __1314
 43575  	}
 43576  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43577  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43578  	goto __1315
 43579  __1314:
 43580  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43581  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43582  __1315:
 43583  	;
 43584  __1313:
 43585  	;
 43586  __1311:
 43587  	;
 43588  __1309:
 43589  	;
 43590  __1307:
 43591  	;
 43592  
 43593  	category1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 43594  	if !(libc.Bool32(category1 == ucp_L || category1 == ucp_N || fc == Tuint32_t('\137')) == notmatch1) {
 43595  		goto __1316
 43596  	}
 43597  	rrc = DMATCH_NOMATCH
 43598  	goto RETURN_SWITCH
 43599  __1316:
 43600  	;
 43601  
 43602  	goto __1302
 43603  __1302:
 43604  	i++
 43605  	goto __1301
 43606  	goto __1303
 43607  __1303:
 43608  	;
 43609  	goto __1128
 43610  
 43611  __1139:
 43612  	i = Tuint32_t(1)
 43613  __1317:
 43614  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43615  		goto __1319
 43616  	}
 43617  
 43618  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43619  		goto __1320
 43620  	}
 43621  
 43622  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43623  		goto __1321
 43624  	}
 43625  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43626  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43627  		goto __1322
 43628  	}
 43629  	return -2
 43630  __1322:
 43631  	;
 43632  __1321:
 43633  	;
 43634  
 43635  	rrc = DMATCH_NOMATCH
 43636  	goto RETURN_SWITCH
 43637  
 43638  __1320:
 43639  	;
 43640  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43641  	if !(utf != 0 && fc >= 0xc0) {
 43642  		goto __1323
 43643  	}
 43644  	if !(fc&0x20 == Tuint32_t(0)) {
 43645  		goto __1324
 43646  	}
 43647  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43648  	goto __1325
 43649  __1324:
 43650  	if !(fc&0x10 == Tuint32_t(0)) {
 43651  		goto __1326
 43652  	}
 43653  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43654  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43655  	goto __1327
 43656  __1326:
 43657  	if !(fc&0x08 == Tuint32_t(0)) {
 43658  		goto __1328
 43659  	}
 43660  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43661  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43662  	goto __1329
 43663  __1328:
 43664  	if !(fc&0x04 == Tuint32_t(0)) {
 43665  		goto __1330
 43666  	}
 43667  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43668  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43669  	goto __1331
 43670  __1330:
 43671  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43672  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43673  __1331:
 43674  	;
 43675  __1329:
 43676  	;
 43677  __1327:
 43678  	;
 43679  __1325:
 43680  	;
 43681  __1323:
 43682  	;
 43683  
 43684  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 43685  __1332:
 43686  
 43687  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 43688  		goto __1335
 43689  	}
 43690  
 43691  	if !(notmatch1 != 0) {
 43692  		goto __1336
 43693  	}
 43694  	goto __1334
 43695  __1336:
 43696  	;
 43697  	rrc = DMATCH_NOMATCH
 43698  	goto RETURN_SWITCH
 43699  
 43700  __1335:
 43701  	;
 43702  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 43703  		goto __1337
 43704  	}
 43705  
 43706  	if !(notmatch1 != 0) {
 43707  		goto __1338
 43708  	}
 43709  	rrc = DMATCH_NOMATCH
 43710  	goto RETURN_SWITCH
 43711  __1338:
 43712  	;
 43713  
 43714  	goto __1334
 43715  __1337:
 43716  	;
 43717  	goto __1333
 43718  __1333:
 43719  	goto __1332
 43720  	goto __1334
 43721  __1334:
 43722  	;
 43723  	goto __1318
 43724  __1318:
 43725  	i++
 43726  	goto __1317
 43727  	goto __1319
 43728  __1319:
 43729  	;
 43730  	goto __1128
 43731  
 43732  __1140:
 43733  	i = Tuint32_t(1)
 43734  __1339:
 43735  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43736  		goto __1341
 43737  	}
 43738  
 43739  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43740  		goto __1342
 43741  	}
 43742  
 43743  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43744  		goto __1343
 43745  	}
 43746  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43747  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43748  		goto __1344
 43749  	}
 43750  	return -2
 43751  __1344:
 43752  	;
 43753  __1343:
 43754  	;
 43755  
 43756  	rrc = DMATCH_NOMATCH
 43757  	goto RETURN_SWITCH
 43758  
 43759  __1342:
 43760  	;
 43761  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43762  	if !(utf != 0 && fc >= 0xc0) {
 43763  		goto __1345
 43764  	}
 43765  	if !(fc&0x20 == Tuint32_t(0)) {
 43766  		goto __1346
 43767  	}
 43768  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43769  	goto __1347
 43770  __1346:
 43771  	if !(fc&0x10 == Tuint32_t(0)) {
 43772  		goto __1348
 43773  	}
 43774  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43775  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43776  	goto __1349
 43777  __1348:
 43778  	if !(fc&0x08 == Tuint32_t(0)) {
 43779  		goto __1350
 43780  	}
 43781  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43782  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43783  	goto __1351
 43784  __1350:
 43785  	if !(fc&0x04 == Tuint32_t(0)) {
 43786  		goto __1352
 43787  	}
 43788  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43789  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43790  	goto __1353
 43791  __1352:
 43792  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43793  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43794  __1353:
 43795  	;
 43796  __1351:
 43797  	;
 43798  __1349:
 43799  	;
 43800  __1347:
 43801  	;
 43802  __1345:
 43803  	;
 43804  
 43805  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch1) {
 43806  		goto __1354
 43807  	}
 43808  	rrc = DMATCH_NOMATCH
 43809  	goto RETURN_SWITCH
 43810  __1354:
 43811  	;
 43812  
 43813  	goto __1340
 43814  __1340:
 43815  	i++
 43816  	goto __1339
 43817  	goto __1341
 43818  __1341:
 43819  	;
 43820  	goto __1128
 43821  
 43822  __1141:
 43823  	i = Tuint32_t(1)
 43824  __1355:
 43825  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43826  		goto __1357
 43827  	}
 43828  
 43829  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43830  		goto __1358
 43831  	}
 43832  
 43833  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43834  		goto __1359
 43835  	}
 43836  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43837  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43838  		goto __1360
 43839  	}
 43840  	return -2
 43841  __1360:
 43842  	;
 43843  __1359:
 43844  	;
 43845  
 43846  	rrc = DMATCH_NOMATCH
 43847  	goto RETURN_SWITCH
 43848  
 43849  __1358:
 43850  	;
 43851  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43852  	if !(utf != 0 && fc >= 0xc0) {
 43853  		goto __1361
 43854  	}
 43855  	if !(fc&0x20 == Tuint32_t(0)) {
 43856  		goto __1362
 43857  	}
 43858  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43859  	goto __1363
 43860  __1362:
 43861  	if !(fc&0x10 == Tuint32_t(0)) {
 43862  		goto __1364
 43863  	}
 43864  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43865  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43866  	goto __1365
 43867  __1364:
 43868  	if !(fc&0x08 == Tuint32_t(0)) {
 43869  		goto __1366
 43870  	}
 43871  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43872  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43873  	goto __1367
 43874  __1366:
 43875  	if !(fc&0x04 == Tuint32_t(0)) {
 43876  		goto __1368
 43877  	}
 43878  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43879  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43880  	goto __1369
 43881  __1368:
 43882  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43883  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43884  __1369:
 43885  	;
 43886  __1367:
 43887  	;
 43888  __1365:
 43889  	;
 43890  __1363:
 43891  	;
 43892  __1361:
 43893  	;
 43894  
 43895  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43896  		goto __1370
 43897  	}
 43898  	rrc = DMATCH_NOMATCH
 43899  	goto RETURN_SWITCH
 43900  __1370:
 43901  	;
 43902  
 43903  	goto __1356
 43904  __1356:
 43905  	i++
 43906  	goto __1355
 43907  	goto __1357
 43908  __1357:
 43909  	;
 43910  	goto __1128
 43911  
 43912  __1142:
 43913  	i = Tuint32_t(1)
 43914  __1371:
 43915  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43916  		goto __1373
 43917  	}
 43918  
 43919  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43920  		goto __1374
 43921  	}
 43922  
 43923  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43924  		goto __1375
 43925  	}
 43926  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43927  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43928  		goto __1376
 43929  	}
 43930  	return -2
 43931  __1376:
 43932  	;
 43933  __1375:
 43934  	;
 43935  
 43936  	rrc = DMATCH_NOMATCH
 43937  	goto RETURN_SWITCH
 43938  
 43939  __1374:
 43940  	;
 43941  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43942  	if !(utf != 0 && fc >= 0xc0) {
 43943  		goto __1377
 43944  	}
 43945  	if !(fc&0x20 == Tuint32_t(0)) {
 43946  		goto __1378
 43947  	}
 43948  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43949  	goto __1379
 43950  __1378:
 43951  	if !(fc&0x10 == Tuint32_t(0)) {
 43952  		goto __1380
 43953  	}
 43954  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43955  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43956  	goto __1381
 43957  __1380:
 43958  	if !(fc&0x08 == Tuint32_t(0)) {
 43959  		goto __1382
 43960  	}
 43961  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43962  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43963  	goto __1383
 43964  __1382:
 43965  	if !(fc&0x04 == Tuint32_t(0)) {
 43966  		goto __1384
 43967  	}
 43968  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43969  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43970  	goto __1385
 43971  __1384:
 43972  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43973  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43974  __1385:
 43975  	;
 43976  __1383:
 43977  	;
 43978  __1381:
 43979  	;
 43980  __1379:
 43981  	;
 43982  __1377:
 43983  	;
 43984  
 43985  	prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 43986  	ok3 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43987  	if !(ok3 == notmatch1) {
 43988  		goto __1386
 43989  	}
 43990  	rrc = DMATCH_NOMATCH
 43991  	goto RETURN_SWITCH
 43992  __1386:
 43993  	;
 43994  
 43995  	goto __1372
 43996  __1372:
 43997  	i++
 43998  	goto __1371
 43999  	goto __1373
 44000  __1373:
 44001  	;
 44002  	goto __1128
 44003  
 44004  	// This should not occur
 44005  
 44006  __1143:
 44007  	return -44
 44008  __1128:
 44009  	;
 44010  	goto __1127
 44011  __1126:
 44012  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 44013  		goto __1387
 44014  	}
 44015  
 44016  	i = Tuint32_t(1)
 44017  __1389:
 44018  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44019  		goto __1391
 44020  	}
 44021  
 44022  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44023  		goto __1392
 44024  	}
 44025  
 44026  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44027  		goto __1394
 44028  	}
 44029  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44030  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44031  		goto __1395
 44032  	}
 44033  	return -2
 44034  __1395:
 44035  	;
 44036  __1394:
 44037  	;
 44038  
 44039  	rrc = DMATCH_NOMATCH
 44040  	goto RETURN_SWITCH
 44041  
 44042  	goto __1393
 44043  __1392:
 44044  
 44045  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44046  	if !(utf != 0 && fc >= 0xc0) {
 44047  		goto __1396
 44048  	}
 44049  	if !(fc&0x20 == Tuint32_t(0)) {
 44050  		goto __1397
 44051  	}
 44052  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44053  	goto __1398
 44054  __1397:
 44055  	if !(fc&0x10 == Tuint32_t(0)) {
 44056  		goto __1399
 44057  	}
 44058  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44059  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44060  	goto __1400
 44061  __1399:
 44062  	if !(fc&0x08 == Tuint32_t(0)) {
 44063  		goto __1401
 44064  	}
 44065  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44066  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44067  	goto __1402
 44068  __1401:
 44069  	if !(fc&0x04 == Tuint32_t(0)) {
 44070  		goto __1403
 44071  	}
 44072  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44073  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44074  	goto __1404
 44075  __1403:
 44076  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44077  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44078  __1404:
 44079  	;
 44080  __1402:
 44081  	;
 44082  __1400:
 44083  	;
 44084  __1398:
 44085  	;
 44086  __1396:
 44087  	;
 44088  
 44089  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 44090  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf, uintptr(0))
 44091  __1393:
 44092  	;
 44093  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44094  		goto __1405
 44095  	}
 44096  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44097  		goto __1406
 44098  	}
 44099  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44100  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44101  		goto __1407
 44102  	}
 44103  	return -2
 44104  __1407:
 44105  	;
 44106  __1406:
 44107  	;
 44108  __1405:
 44109  	;
 44110  
 44111  	goto __1390
 44112  __1390:
 44113  	i++
 44114  	goto __1389
 44115  	goto __1391
 44116  __1391:
 44117  	;
 44118  	goto __1388
 44119  __1387:
 44120  
 44121  	// Handle all other cases in UTF mode
 44122  
 44123  	if !(utf != 0) {
 44124  		goto __1408
 44125  	}
 44126  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 44127  	case OP_ANY:
 44128  		goto __1411
 44129  
 44130  	case OP_ALLANY:
 44131  		goto __1412
 44132  
 44133  	case OP_ANYBYTE:
 44134  		goto __1413
 44135  
 44136  	case OP_ANYNL:
 44137  		goto __1414
 44138  
 44139  	case OP_NOT_HSPACE:
 44140  		goto __1415
 44141  
 44142  	case OP_HSPACE:
 44143  		goto __1416
 44144  
 44145  	case OP_NOT_VSPACE:
 44146  		goto __1417
 44147  
 44148  	case OP_VSPACE:
 44149  		goto __1418
 44150  
 44151  	case OP_NOT_DIGIT:
 44152  		goto __1419
 44153  
 44154  	case OP_DIGIT:
 44155  		goto __1420
 44156  
 44157  	case OP_NOT_WHITESPACE:
 44158  		goto __1421
 44159  
 44160  	case OP_WHITESPACE:
 44161  		goto __1422
 44162  
 44163  	case OP_NOT_WORDCHAR:
 44164  		goto __1423
 44165  
 44166  	case OP_WORDCHAR:
 44167  		goto __1424
 44168  
 44169  	default:
 44170  		goto __1425
 44171  	}
 44172  	goto __1410
 44173  
 44174  __1411:
 44175  	i = Tuint32_t(1)
 44176  __1426:
 44177  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44178  		goto __1428
 44179  	}
 44180  
 44181  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44182  		goto __1429
 44183  	}
 44184  
 44185  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44186  		goto __1430
 44187  	}
 44188  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44189  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44190  		goto __1431
 44191  	}
 44192  	return -2
 44193  __1431:
 44194  	;
 44195  __1430:
 44196  	;
 44197  
 44198  	rrc = DMATCH_NOMATCH
 44199  	goto RETURN_SWITCH
 44200  
 44201  __1429:
 44202  	;
 44203  	if !(func() int32 {
 44204  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 44205  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 44206  		}
 44207  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 44208  	}() != 0) {
 44209  		goto __1432
 44210  	}
 44211  	rrc = DMATCH_NOMATCH
 44212  	goto RETURN_SWITCH
 44213  __1432:
 44214  	;
 44215  
 44216  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 44217  		goto __1433
 44218  	}
 44219  
 44220  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44221  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44222  		goto __1434
 44223  	}
 44224  	return -2
 44225  __1434:
 44226  	;
 44227  __1433:
 44228  	;
 44229  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44230  __1435:
 44231  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 44232  		goto __1436
 44233  	}
 44234  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44235  	goto __1435
 44236  __1436:
 44237  	;
 44238  	goto __1427
 44239  __1427:
 44240  	i++
 44241  	goto __1426
 44242  	goto __1428
 44243  __1428:
 44244  	;
 44245  	goto __1410
 44246  
 44247  __1412:
 44248  	i = Tuint32_t(1)
 44249  __1437:
 44250  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44251  		goto __1439
 44252  	}
 44253  
 44254  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44255  		goto __1440
 44256  	}
 44257  
 44258  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44259  		goto __1441
 44260  	}
 44261  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44262  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44263  		goto __1442
 44264  	}
 44265  	return -2
 44266  __1442:
 44267  	;
 44268  __1441:
 44269  	;
 44270  
 44271  	rrc = DMATCH_NOMATCH
 44272  	goto RETURN_SWITCH
 44273  
 44274  __1440:
 44275  	;
 44276  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44277  __1443:
 44278  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 44279  		goto __1444
 44280  	}
 44281  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44282  	goto __1443
 44283  __1444:
 44284  	;
 44285  	goto __1438
 44286  __1438:
 44287  	i++
 44288  	goto __1437
 44289  	goto __1439
 44290  __1439:
 44291  	;
 44292  	goto __1410
 44293  
 44294  __1413:
 44295  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) {
 44296  		goto __1445
 44297  	}
 44298  	rrc = DMATCH_NOMATCH
 44299  	goto RETURN_SWITCH
 44300  __1445:
 44301  	;
 44302  
 44303  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56)))
 44304  	goto __1410
 44305  
 44306  __1414:
 44307  	i = Tuint32_t(1)
 44308  __1446:
 44309  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44310  		goto __1448
 44311  	}
 44312  
 44313  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44314  		goto __1449
 44315  	}
 44316  
 44317  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44318  		goto __1450
 44319  	}
 44320  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44321  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44322  		goto __1451
 44323  	}
 44324  	return -2
 44325  __1451:
 44326  	;
 44327  __1450:
 44328  	;
 44329  
 44330  	rrc = DMATCH_NOMATCH
 44331  	goto RETURN_SWITCH
 44332  
 44333  __1449:
 44334  	;
 44335  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44336  	if !(fc >= 0xc0) {
 44337  		goto __1452
 44338  	}
 44339  	if !(fc&0x20 == Tuint32_t(0)) {
 44340  		goto __1453
 44341  	}
 44342  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44343  	goto __1454
 44344  __1453:
 44345  	if !(fc&0x10 == Tuint32_t(0)) {
 44346  		goto __1455
 44347  	}
 44348  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44349  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44350  	goto __1456
 44351  __1455:
 44352  	if !(fc&0x08 == Tuint32_t(0)) {
 44353  		goto __1457
 44354  	}
 44355  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44356  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44357  	goto __1458
 44358  __1457:
 44359  	if !(fc&0x04 == Tuint32_t(0)) {
 44360  		goto __1459
 44361  	}
 44362  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44363  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44364  	goto __1460
 44365  __1459:
 44366  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44367  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44368  __1460:
 44369  	;
 44370  __1458:
 44371  	;
 44372  __1456:
 44373  	;
 44374  __1454:
 44375  	;
 44376  __1452:
 44377  	;
 44378  
 44379  	switch fc {
 44380  	default:
 44381  		goto __1462
 44382  
 44383  	case Tuint32_t('\015'):
 44384  		goto __1463
 44385  
 44386  	case Tuint32_t('\012'):
 44387  		goto __1464
 44388  
 44389  	case Tuint32_t('\013'):
 44390  		goto __1465
 44391  	case Tuint32_t('\014'):
 44392  		goto __1466
 44393  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44394  		goto __1467
 44395  	case Tuint32_t(0x2028):
 44396  		goto __1468
 44397  	case Tuint32_t(0x2029):
 44398  		goto __1469
 44399  	}
 44400  	goto __1461
 44401  
 44402  __1462:
 44403  	rrc = DMATCH_NOMATCH
 44404  	goto RETURN_SWITCH
 44405  
 44406  __1463:
 44407  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 44408  		goto __1470
 44409  	}
 44410  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44411  __1470:
 44412  	;
 44413  	goto __1461
 44414  
 44415  __1464:
 44416  	goto __1461
 44417  
 44418  __1465:
 44419  __1466:
 44420  __1467:
 44421  __1468:
 44422  __1469:
 44423  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 44424  		goto __1471
 44425  	}
 44426  	rrc = DMATCH_NOMATCH
 44427  	goto RETURN_SWITCH
 44428  __1471:
 44429  	;
 44430  
 44431  	goto __1461
 44432  __1461:
 44433  	;
 44434  	goto __1447
 44435  __1447:
 44436  	i++
 44437  	goto __1446
 44438  	goto __1448
 44439  __1448:
 44440  	;
 44441  	goto __1410
 44442  
 44443  __1415:
 44444  	i = Tuint32_t(1)
 44445  __1472:
 44446  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44447  		goto __1474
 44448  	}
 44449  
 44450  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44451  		goto __1475
 44452  	}
 44453  
 44454  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44455  		goto __1476
 44456  	}
 44457  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44458  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44459  		goto __1477
 44460  	}
 44461  	return -2
 44462  __1477:
 44463  	;
 44464  __1476:
 44465  	;
 44466  
 44467  	rrc = DMATCH_NOMATCH
 44468  	goto RETURN_SWITCH
 44469  
 44470  __1475:
 44471  	;
 44472  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44473  	if !(fc >= 0xc0) {
 44474  		goto __1478
 44475  	}
 44476  	if !(fc&0x20 == Tuint32_t(0)) {
 44477  		goto __1479
 44478  	}
 44479  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44480  	goto __1480
 44481  __1479:
 44482  	if !(fc&0x10 == Tuint32_t(0)) {
 44483  		goto __1481
 44484  	}
 44485  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44486  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44487  	goto __1482
 44488  __1481:
 44489  	if !(fc&0x08 == Tuint32_t(0)) {
 44490  		goto __1483
 44491  	}
 44492  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44493  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44494  	goto __1484
 44495  __1483:
 44496  	if !(fc&0x04 == Tuint32_t(0)) {
 44497  		goto __1485
 44498  	}
 44499  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44500  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44501  	goto __1486
 44502  __1485:
 44503  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44504  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44505  __1486:
 44506  	;
 44507  __1484:
 44508  	;
 44509  __1482:
 44510  	;
 44511  __1480:
 44512  	;
 44513  __1478:
 44514  	;
 44515  
 44516  	switch fc {
 44517  	case Tuint32_t('\011'):
 44518  		goto __1488
 44519  	case Tuint32_t('\040'):
 44520  		goto __1489
 44521  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 44522  		goto __1490
 44523  	case Tuint32_t(0x1680):
 44524  		goto __1491 /* OGHAM SPACE MARK */
 44525  	case Tuint32_t(0x180e):
 44526  		goto __1492 /* MONGOLIAN VOWEL SEPARATOR */
 44527  	case Tuint32_t(0x2000):
 44528  		goto __1493 /* EN QUAD */
 44529  	case Tuint32_t(0x2001):
 44530  		goto __1494 /* EM QUAD */
 44531  	case Tuint32_t(0x2002):
 44532  		goto __1495 /* EN SPACE */
 44533  	case Tuint32_t(0x2003):
 44534  		goto __1496 /* EM SPACE */
 44535  	case Tuint32_t(0x2004):
 44536  		goto __1497 /* THREE-PER-EM SPACE */
 44537  	case Tuint32_t(0x2005):
 44538  		goto __1498 /* FOUR-PER-EM SPACE */
 44539  	case Tuint32_t(0x2006):
 44540  		goto __1499 /* SIX-PER-EM SPACE */
 44541  	case Tuint32_t(0x2007):
 44542  		goto __1500 /* FIGURE SPACE */
 44543  	case Tuint32_t(0x2008):
 44544  		goto __1501 /* PUNCTUATION SPACE */
 44545  	case Tuint32_t(0x2009):
 44546  		goto __1502 /* THIN SPACE */
 44547  	case Tuint32_t(0x200A):
 44548  		goto __1503 /* HAIR SPACE */
 44549  	case Tuint32_t(0x202f):
 44550  		goto __1504 /* NARROW NO-BREAK SPACE */
 44551  	case Tuint32_t(0x205f):
 44552  		goto __1505 /* MEDIUM MATHEMATICAL SPACE */
 44553  	case Tuint32_t(0x3000):
 44554  		goto __1506
 44555  	default:
 44556  		goto __1507
 44557  	}
 44558  	goto __1487
 44559  
 44560  __1488:
 44561  __1489:
 44562  __1490:
 44563  __1491: /* OGHAM SPACE MARK */
 44564  __1492: /* MONGOLIAN VOWEL SEPARATOR */
 44565  __1493: /* EN QUAD */
 44566  __1494: /* EM QUAD */
 44567  __1495: /* EN SPACE */
 44568  __1496: /* EM SPACE */
 44569  __1497: /* THREE-PER-EM SPACE */
 44570  __1498: /* FOUR-PER-EM SPACE */
 44571  __1499: /* SIX-PER-EM SPACE */
 44572  __1500: /* FIGURE SPACE */
 44573  __1501: /* PUNCTUATION SPACE */
 44574  __1502: /* THIN SPACE */
 44575  __1503: /* HAIR SPACE */
 44576  __1504: /* NARROW NO-BREAK SPACE */
 44577  __1505: /* MEDIUM MATHEMATICAL SPACE */
 44578  __1506:
 44579  	rrc = DMATCH_NOMATCH
 44580  	goto RETURN_SWITCH
 44581  
 44582  __1507:
 44583  	goto __1487
 44584  __1487:
 44585  	;
 44586  	goto __1473
 44587  __1473:
 44588  	i++
 44589  	goto __1472
 44590  	goto __1474
 44591  __1474:
 44592  	;
 44593  	goto __1410
 44594  
 44595  __1416:
 44596  	i = Tuint32_t(1)
 44597  __1508:
 44598  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44599  		goto __1510
 44600  	}
 44601  
 44602  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44603  		goto __1511
 44604  	}
 44605  
 44606  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44607  		goto __1512
 44608  	}
 44609  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44610  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44611  		goto __1513
 44612  	}
 44613  	return -2
 44614  __1513:
 44615  	;
 44616  __1512:
 44617  	;
 44618  
 44619  	rrc = DMATCH_NOMATCH
 44620  	goto RETURN_SWITCH
 44621  
 44622  __1511:
 44623  	;
 44624  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44625  	if !(fc >= 0xc0) {
 44626  		goto __1514
 44627  	}
 44628  	if !(fc&0x20 == Tuint32_t(0)) {
 44629  		goto __1515
 44630  	}
 44631  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44632  	goto __1516
 44633  __1515:
 44634  	if !(fc&0x10 == Tuint32_t(0)) {
 44635  		goto __1517
 44636  	}
 44637  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44638  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44639  	goto __1518
 44640  __1517:
 44641  	if !(fc&0x08 == Tuint32_t(0)) {
 44642  		goto __1519
 44643  	}
 44644  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44645  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44646  	goto __1520
 44647  __1519:
 44648  	if !(fc&0x04 == Tuint32_t(0)) {
 44649  		goto __1521
 44650  	}
 44651  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44652  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44653  	goto __1522
 44654  __1521:
 44655  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44656  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44657  __1522:
 44658  	;
 44659  __1520:
 44660  	;
 44661  __1518:
 44662  	;
 44663  __1516:
 44664  	;
 44665  __1514:
 44666  	;
 44667  
 44668  	switch fc {
 44669  	case Tuint32_t('\011'):
 44670  		goto __1524
 44671  	case Tuint32_t('\040'):
 44672  		goto __1525
 44673  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 44674  		goto __1526
 44675  	case Tuint32_t(0x1680):
 44676  		goto __1527 /* OGHAM SPACE MARK */
 44677  	case Tuint32_t(0x180e):
 44678  		goto __1528 /* MONGOLIAN VOWEL SEPARATOR */
 44679  	case Tuint32_t(0x2000):
 44680  		goto __1529 /* EN QUAD */
 44681  	case Tuint32_t(0x2001):
 44682  		goto __1530 /* EM QUAD */
 44683  	case Tuint32_t(0x2002):
 44684  		goto __1531 /* EN SPACE */
 44685  	case Tuint32_t(0x2003):
 44686  		goto __1532 /* EM SPACE */
 44687  	case Tuint32_t(0x2004):
 44688  		goto __1533 /* THREE-PER-EM SPACE */
 44689  	case Tuint32_t(0x2005):
 44690  		goto __1534 /* FOUR-PER-EM SPACE */
 44691  	case Tuint32_t(0x2006):
 44692  		goto __1535 /* SIX-PER-EM SPACE */
 44693  	case Tuint32_t(0x2007):
 44694  		goto __1536 /* FIGURE SPACE */
 44695  	case Tuint32_t(0x2008):
 44696  		goto __1537 /* PUNCTUATION SPACE */
 44697  	case Tuint32_t(0x2009):
 44698  		goto __1538 /* THIN SPACE */
 44699  	case Tuint32_t(0x200A):
 44700  		goto __1539 /* HAIR SPACE */
 44701  	case Tuint32_t(0x202f):
 44702  		goto __1540 /* NARROW NO-BREAK SPACE */
 44703  	case Tuint32_t(0x205f):
 44704  		goto __1541 /* MEDIUM MATHEMATICAL SPACE */
 44705  	case Tuint32_t(0x3000):
 44706  		goto __1542
 44707  	default:
 44708  		goto __1543
 44709  	}
 44710  	goto __1523
 44711  
 44712  __1524:
 44713  __1525:
 44714  __1526:
 44715  __1527: /* OGHAM SPACE MARK */
 44716  __1528: /* MONGOLIAN VOWEL SEPARATOR */
 44717  __1529: /* EN QUAD */
 44718  __1530: /* EM QUAD */
 44719  __1531: /* EN SPACE */
 44720  __1532: /* EM SPACE */
 44721  __1533: /* THREE-PER-EM SPACE */
 44722  __1534: /* FOUR-PER-EM SPACE */
 44723  __1535: /* SIX-PER-EM SPACE */
 44724  __1536: /* FIGURE SPACE */
 44725  __1537: /* PUNCTUATION SPACE */
 44726  __1538: /* THIN SPACE */
 44727  __1539: /* HAIR SPACE */
 44728  __1540: /* NARROW NO-BREAK SPACE */
 44729  __1541: /* MEDIUM MATHEMATICAL SPACE */
 44730  __1542:
 44731  	goto __1523
 44732  __1543:
 44733  	rrc = DMATCH_NOMATCH
 44734  	goto RETURN_SWITCH
 44735  
 44736  __1523:
 44737  	;
 44738  	goto __1509
 44739  __1509:
 44740  	i++
 44741  	goto __1508
 44742  	goto __1510
 44743  __1510:
 44744  	;
 44745  	goto __1410
 44746  
 44747  __1417:
 44748  	i = Tuint32_t(1)
 44749  __1544:
 44750  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44751  		goto __1546
 44752  	}
 44753  
 44754  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44755  		goto __1547
 44756  	}
 44757  
 44758  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44759  		goto __1548
 44760  	}
 44761  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44762  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44763  		goto __1549
 44764  	}
 44765  	return -2
 44766  __1549:
 44767  	;
 44768  __1548:
 44769  	;
 44770  
 44771  	rrc = DMATCH_NOMATCH
 44772  	goto RETURN_SWITCH
 44773  
 44774  __1547:
 44775  	;
 44776  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44777  	if !(fc >= 0xc0) {
 44778  		goto __1550
 44779  	}
 44780  	if !(fc&0x20 == Tuint32_t(0)) {
 44781  		goto __1551
 44782  	}
 44783  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44784  	goto __1552
 44785  __1551:
 44786  	if !(fc&0x10 == Tuint32_t(0)) {
 44787  		goto __1553
 44788  	}
 44789  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44790  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44791  	goto __1554
 44792  __1553:
 44793  	if !(fc&0x08 == Tuint32_t(0)) {
 44794  		goto __1555
 44795  	}
 44796  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44797  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44798  	goto __1556
 44799  __1555:
 44800  	if !(fc&0x04 == Tuint32_t(0)) {
 44801  		goto __1557
 44802  	}
 44803  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44804  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44805  	goto __1558
 44806  __1557:
 44807  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44808  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44809  __1558:
 44810  	;
 44811  __1556:
 44812  	;
 44813  __1554:
 44814  	;
 44815  __1552:
 44816  	;
 44817  __1550:
 44818  	;
 44819  
 44820  	switch fc {
 44821  	case Tuint32_t('\012'):
 44822  		goto __1560
 44823  	case Tuint32_t('\013'):
 44824  		goto __1561
 44825  	case Tuint32_t('\014'):
 44826  		goto __1562
 44827  	case Tuint32_t('\015'):
 44828  		goto __1563
 44829  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44830  		goto __1564
 44831  	case Tuint32_t(0x2028):
 44832  		goto __1565 /* LINE SEPARATOR */
 44833  	case Tuint32_t(0x2029):
 44834  		goto __1566
 44835  	default:
 44836  		goto __1567
 44837  	}
 44838  	goto __1559
 44839  
 44840  __1560:
 44841  __1561:
 44842  __1562:
 44843  __1563:
 44844  __1564:
 44845  __1565: /* LINE SEPARATOR */
 44846  __1566:
 44847  	rrc = DMATCH_NOMATCH
 44848  	goto RETURN_SWITCH
 44849  
 44850  __1567:
 44851  	goto __1559
 44852  __1559:
 44853  	;
 44854  	goto __1545
 44855  __1545:
 44856  	i++
 44857  	goto __1544
 44858  	goto __1546
 44859  __1546:
 44860  	;
 44861  	goto __1410
 44862  
 44863  __1418:
 44864  	i = Tuint32_t(1)
 44865  __1568:
 44866  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44867  		goto __1570
 44868  	}
 44869  
 44870  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44871  		goto __1571
 44872  	}
 44873  
 44874  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44875  		goto __1572
 44876  	}
 44877  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44878  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44879  		goto __1573
 44880  	}
 44881  	return -2
 44882  __1573:
 44883  	;
 44884  __1572:
 44885  	;
 44886  
 44887  	rrc = DMATCH_NOMATCH
 44888  	goto RETURN_SWITCH
 44889  
 44890  __1571:
 44891  	;
 44892  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44893  	if !(fc >= 0xc0) {
 44894  		goto __1574
 44895  	}
 44896  	if !(fc&0x20 == Tuint32_t(0)) {
 44897  		goto __1575
 44898  	}
 44899  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44900  	goto __1576
 44901  __1575:
 44902  	if !(fc&0x10 == Tuint32_t(0)) {
 44903  		goto __1577
 44904  	}
 44905  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44906  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44907  	goto __1578
 44908  __1577:
 44909  	if !(fc&0x08 == Tuint32_t(0)) {
 44910  		goto __1579
 44911  	}
 44912  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44913  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44914  	goto __1580
 44915  __1579:
 44916  	if !(fc&0x04 == Tuint32_t(0)) {
 44917  		goto __1581
 44918  	}
 44919  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44920  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44921  	goto __1582
 44922  __1581:
 44923  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44924  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44925  __1582:
 44926  	;
 44927  __1580:
 44928  	;
 44929  __1578:
 44930  	;
 44931  __1576:
 44932  	;
 44933  __1574:
 44934  	;
 44935  
 44936  	switch fc {
 44937  	case Tuint32_t('\012'):
 44938  		goto __1584
 44939  	case Tuint32_t('\013'):
 44940  		goto __1585
 44941  	case Tuint32_t('\014'):
 44942  		goto __1586
 44943  	case Tuint32_t('\015'):
 44944  		goto __1587
 44945  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 44946  		goto __1588
 44947  	case Tuint32_t(0x2028):
 44948  		goto __1589 /* LINE SEPARATOR */
 44949  	case Tuint32_t(0x2029):
 44950  		goto __1590
 44951  	default:
 44952  		goto __1591
 44953  	}
 44954  	goto __1583
 44955  
 44956  __1584:
 44957  __1585:
 44958  __1586:
 44959  __1587:
 44960  __1588:
 44961  __1589: /* LINE SEPARATOR */
 44962  __1590:
 44963  	goto __1583
 44964  __1591:
 44965  	rrc = DMATCH_NOMATCH
 44966  	goto RETURN_SWITCH
 44967  
 44968  __1583:
 44969  	;
 44970  	goto __1569
 44971  __1569:
 44972  	i++
 44973  	goto __1568
 44974  	goto __1570
 44975  __1570:
 44976  	;
 44977  	goto __1410
 44978  
 44979  __1419:
 44980  	i = Tuint32_t(1)
 44981  __1592:
 44982  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44983  		goto __1594
 44984  	}
 44985  
 44986  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44987  		goto __1595
 44988  	}
 44989  
 44990  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44991  		goto __1596
 44992  	}
 44993  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44994  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44995  		goto __1597
 44996  	}
 44997  	return -2
 44998  __1597:
 44999  	;
 45000  __1596:
 45001  	;
 45002  
 45003  	rrc = DMATCH_NOMATCH
 45004  	goto RETURN_SWITCH
 45005  
 45006  __1595:
 45007  	;
 45008  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 45009  	if !(fc >= 0xc0) {
 45010  		goto __1598
 45011  	}
 45012  	if !(fc&0x20 == Tuint32_t(0)) {
 45013  		goto __1599
 45014  	}
 45015  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 45016  	goto __1600
 45017  __1599:
 45018  	if !(fc&0x10 == Tuint32_t(0)) {
 45019  		goto __1601
 45020  	}
 45021  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 45022  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 45023  	goto __1602
 45024  __1601:
 45025  	if !(fc&0x08 == Tuint32_t(0)) {
 45026  		goto __1603
 45027  	}
 45028  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 45029  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 45030  	goto __1604
 45031  __1603:
 45032  	if !(fc&0x04 == Tuint32_t(0)) {
 45033  		goto __1605
 45034  	}
 45035  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 45036  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 45037  	goto __1606
 45038  __1605:
 45039  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 45040  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 45041  __1606:
 45042  	;
 45043  __1604:
 45044  	;
 45045  __1602:
 45046  	;
 45047  __1600:
 45048  	;
 45049  __1598:
 45050  	;
 45051  
 45052  	if !(fc < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 45053  		goto __1607
 45054  	}
 45055  	rrc = DMATCH_NOMATCH
 45056  	goto RETURN_SWITCH
 45057  __1607:
 45058  	;
 45059  
 45060  	goto __1593
 45061  __1593:
 45062  	i++
 45063  	goto __1592
 45064  	goto __1594
 45065  __1594:
 45066  	;
 45067  	goto __1410
 45068  
 45069  __1420:
 45070  	i = Tuint32_t(1)
 45071  __1608:
 45072  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45073  		goto __1610
 45074  	}
 45075  
 45076  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45077  		goto __1611
 45078  	}
 45079  
 45080  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45081  		goto __1612
 45082  	}
 45083  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45084  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45085  		goto __1613
 45086  	}
 45087  	return -2
 45088  __1613:
 45089  	;
 45090  __1612:
 45091  	;
 45092  
 45093  	rrc = DMATCH_NOMATCH
 45094  	goto RETURN_SWITCH
 45095  
 45096  __1611:
 45097  	;
 45098  	cc5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45099  	if !(cc5 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc5))))&Dctype_digit == 0) {
 45100  		goto __1614
 45101  	}
 45102  	rrc = DMATCH_NOMATCH
 45103  	goto RETURN_SWITCH
 45104  __1614:
 45105  	;
 45106  
 45107  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45108  	// No need to skip more code units - we know it has only one.
 45109  	goto __1609
 45110  __1609:
 45111  	i++
 45112  	goto __1608
 45113  	goto __1610
 45114  __1610:
 45115  	;
 45116  	goto __1410
 45117  
 45118  __1421:
 45119  	i = Tuint32_t(1)
 45120  __1615:
 45121  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45122  		goto __1617
 45123  	}
 45124  
 45125  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45126  		goto __1618
 45127  	}
 45128  
 45129  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45130  		goto __1619
 45131  	}
 45132  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45133  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45134  		goto __1620
 45135  	}
 45136  	return -2
 45137  __1620:
 45138  	;
 45139  __1619:
 45140  	;
 45141  
 45142  	rrc = DMATCH_NOMATCH
 45143  	goto RETURN_SWITCH
 45144  
 45145  __1618:
 45146  	;
 45147  	cc6 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45148  	if !(cc6 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc6))))&Dctype_space != 0) {
 45149  		goto __1621
 45150  	}
 45151  	rrc = DMATCH_NOMATCH
 45152  	goto RETURN_SWITCH
 45153  __1621:
 45154  	;
 45155  
 45156  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45157  __1622:
 45158  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 45159  		goto __1623
 45160  	}
 45161  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45162  	goto __1622
 45163  __1623:
 45164  	;
 45165  	goto __1616
 45166  __1616:
 45167  	i++
 45168  	goto __1615
 45169  	goto __1617
 45170  __1617:
 45171  	;
 45172  	goto __1410
 45173  
 45174  __1422:
 45175  	i = Tuint32_t(1)
 45176  __1624:
 45177  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45178  		goto __1626
 45179  	}
 45180  
 45181  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45182  		goto __1627
 45183  	}
 45184  
 45185  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45186  		goto __1628
 45187  	}
 45188  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45189  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45190  		goto __1629
 45191  	}
 45192  	return -2
 45193  __1629:
 45194  	;
 45195  __1628:
 45196  	;
 45197  
 45198  	rrc = DMATCH_NOMATCH
 45199  	goto RETURN_SWITCH
 45200  
 45201  __1627:
 45202  	;
 45203  	cc7 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45204  	if !(cc7 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc7))))&Dctype_space == 0) {
 45205  		goto __1630
 45206  	}
 45207  	rrc = DMATCH_NOMATCH
 45208  	goto RETURN_SWITCH
 45209  __1630:
 45210  	;
 45211  
 45212  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45213  	// No need to skip more code units - we know it has only one.
 45214  	goto __1625
 45215  __1625:
 45216  	i++
 45217  	goto __1624
 45218  	goto __1626
 45219  __1626:
 45220  	;
 45221  	goto __1410
 45222  
 45223  __1423:
 45224  	i = Tuint32_t(1)
 45225  __1631:
 45226  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45227  		goto __1633
 45228  	}
 45229  
 45230  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45231  		goto __1634
 45232  	}
 45233  
 45234  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45235  		goto __1635
 45236  	}
 45237  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45238  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45239  		goto __1636
 45240  	}
 45241  	return -2
 45242  __1636:
 45243  	;
 45244  __1635:
 45245  	;
 45246  
 45247  	rrc = DMATCH_NOMATCH
 45248  	goto RETURN_SWITCH
 45249  
 45250  __1634:
 45251  	;
 45252  	cc8 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45253  	if !(cc8 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc8))))&Dctype_word != 0) {
 45254  		goto __1637
 45255  	}
 45256  	rrc = DMATCH_NOMATCH
 45257  	goto RETURN_SWITCH
 45258  __1637:
 45259  	;
 45260  
 45261  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45262  __1638:
 45263  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 45264  		goto __1639
 45265  	}
 45266  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45267  	goto __1638
 45268  __1639:
 45269  	;
 45270  	goto __1632
 45271  __1632:
 45272  	i++
 45273  	goto __1631
 45274  	goto __1633
 45275  __1633:
 45276  	;
 45277  	goto __1410
 45278  
 45279  __1424:
 45280  	i = Tuint32_t(1)
 45281  __1640:
 45282  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45283  		goto __1642
 45284  	}
 45285  
 45286  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45287  		goto __1643
 45288  	}
 45289  
 45290  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45291  		goto __1644
 45292  	}
 45293  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45294  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45295  		goto __1645
 45296  	}
 45297  	return -2
 45298  __1645:
 45299  	;
 45300  __1644:
 45301  	;
 45302  
 45303  	rrc = DMATCH_NOMATCH
 45304  	goto RETURN_SWITCH
 45305  
 45306  __1643:
 45307  	;
 45308  	cc9 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45309  	if !(cc9 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc9))))&Dctype_word == 0) {
 45310  		goto __1646
 45311  	}
 45312  	rrc = DMATCH_NOMATCH
 45313  	goto RETURN_SWITCH
 45314  __1646:
 45315  	;
 45316  
 45317  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45318  	// No need to skip more code units - we know it has only one.
 45319  	goto __1641
 45320  __1641:
 45321  	i++
 45322  	goto __1640
 45323  	goto __1642
 45324  __1642:
 45325  	;
 45326  	goto __1410
 45327  
 45328  __1425:
 45329  	return -44
 45330  __1410:
 45331  	;
 45332  	goto __1409
 45333  __1408:
 45334  
 45335  	// Code for the non-UTF case for minimum matching of operators other
 45336  	//       than OP_PROP and OP_NOTPROP.
 45337  
 45338  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 45339  	case OP_ANY:
 45340  		goto __1648
 45341  
 45342  	case OP_ALLANY:
 45343  		goto __1649
 45344  
 45345  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45346  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45347  	//         reports don't complain about it's never being used.
 45348  
 45349  	// case OP_ANYBYTE:
 45350  	//        if (Feptr > mb->end_subject - Lmin)
 45351  	//          {
 45352  	//          SCHECK_PARTIAL();
 45353  	//          RRETURN(MATCH_NOMATCH);
 45354  	//          }
 45355  	//        Feptr += Lmin;
 45356  	//        break;
 45357  	case OP_ANYNL:
 45358  		goto __1650
 45359  
 45360  	case OP_NOT_HSPACE:
 45361  		goto __1651
 45362  
 45363  	case OP_HSPACE:
 45364  		goto __1652
 45365  
 45366  	case OP_NOT_VSPACE:
 45367  		goto __1653
 45368  
 45369  	case OP_VSPACE:
 45370  		goto __1654
 45371  
 45372  	case OP_NOT_DIGIT:
 45373  		goto __1655
 45374  
 45375  	case OP_DIGIT:
 45376  		goto __1656
 45377  
 45378  	case OP_NOT_WHITESPACE:
 45379  		goto __1657
 45380  
 45381  	case OP_WHITESPACE:
 45382  		goto __1658
 45383  
 45384  	case OP_NOT_WORDCHAR:
 45385  		goto __1659
 45386  
 45387  	case OP_WORDCHAR:
 45388  		goto __1660
 45389  
 45390  	default:
 45391  		goto __1661
 45392  	}
 45393  	goto __1647
 45394  
 45395  __1648:
 45396  	i = Tuint32_t(1)
 45397  __1662:
 45398  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45399  		goto __1664
 45400  	}
 45401  
 45402  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45403  		goto __1665
 45404  	}
 45405  
 45406  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45407  		goto __1666
 45408  	}
 45409  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45410  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45411  		goto __1667
 45412  	}
 45413  	return -2
 45414  __1667:
 45415  	;
 45416  __1666:
 45417  	;
 45418  
 45419  	rrc = DMATCH_NOMATCH
 45420  	goto RETURN_SWITCH
 45421  
 45422  __1665:
 45423  	;
 45424  	if !(func() int32 {
 45425  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 45426  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 45427  		}
 45428  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 45429  	}() != 0) {
 45430  		goto __1668
 45431  	}
 45432  	rrc = DMATCH_NOMATCH
 45433  	goto RETURN_SWITCH
 45434  __1668:
 45435  	;
 45436  
 45437  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 45438  		goto __1669
 45439  	}
 45440  
 45441  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45442  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45443  		goto __1670
 45444  	}
 45445  	return -2
 45446  __1670:
 45447  	;
 45448  __1669:
 45449  	;
 45450  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45451  	goto __1663
 45452  __1663:
 45453  	i++
 45454  	goto __1662
 45455  	goto __1664
 45456  __1664:
 45457  	;
 45458  	goto __1647
 45459  
 45460  __1649:
 45461  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) {
 45462  		goto __1671
 45463  	}
 45464  
 45465  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45466  		goto __1672
 45467  	}
 45468  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45469  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45470  		goto __1673
 45471  	}
 45472  	return -2
 45473  __1673:
 45474  	;
 45475  __1672:
 45476  	;
 45477  
 45478  	rrc = DMATCH_NOMATCH
 45479  	goto RETURN_SWITCH
 45480  
 45481  __1671:
 45482  	;
 45483  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56)))
 45484  	goto __1647
 45485  
 45486  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45487  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45488  	//         reports don't complain about it's never being used.
 45489  
 45490  	// case OP_ANYBYTE:
 45491  	//        if (Feptr > mb->end_subject - Lmin)
 45492  	//          {
 45493  	//          SCHECK_PARTIAL();
 45494  	//          RRETURN(MATCH_NOMATCH);
 45495  	//          }
 45496  	//        Feptr += Lmin;
 45497  	//        break;
 45498  __1650:
 45499  	i = Tuint32_t(1)
 45500  __1674:
 45501  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45502  		goto __1676
 45503  	}
 45504  
 45505  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45506  		goto __1677
 45507  	}
 45508  
 45509  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45510  		goto __1678
 45511  	}
 45512  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45513  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45514  		goto __1679
 45515  	}
 45516  	return -2
 45517  __1679:
 45518  	;
 45519  __1678:
 45520  	;
 45521  
 45522  	rrc = DMATCH_NOMATCH
 45523  	goto RETURN_SWITCH
 45524  
 45525  __1677:
 45526  	;
 45527  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45528  	default:
 45529  		goto __1681
 45530  
 45531  	case '\015':
 45532  		goto __1682
 45533  
 45534  	case '\012':
 45535  		goto __1683
 45536  
 45537  	case '\013':
 45538  		goto __1684
 45539  	case '\014':
 45540  		goto __1685
 45541  	case int32(libc.Uint8FromInt32(133)):
 45542  		goto __1686
 45543  	}
 45544  	goto __1680
 45545  
 45546  __1681:
 45547  	rrc = DMATCH_NOMATCH
 45548  	goto RETURN_SWITCH
 45549  
 45550  __1682:
 45551  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 45552  		goto __1687
 45553  	}
 45554  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45555  __1687:
 45556  	;
 45557  	goto __1680
 45558  
 45559  __1683:
 45560  	goto __1680
 45561  
 45562  __1684:
 45563  __1685:
 45564  __1686:
 45565  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 45566  		goto __1688
 45567  	}
 45568  	rrc = DMATCH_NOMATCH
 45569  	goto RETURN_SWITCH
 45570  __1688:
 45571  	;
 45572  
 45573  	goto __1680
 45574  __1680:
 45575  	;
 45576  	goto __1675
 45577  __1675:
 45578  	i++
 45579  	goto __1674
 45580  	goto __1676
 45581  __1676:
 45582  	;
 45583  	goto __1647
 45584  
 45585  __1651:
 45586  	i = Tuint32_t(1)
 45587  __1689:
 45588  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45589  		goto __1691
 45590  	}
 45591  
 45592  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45593  		goto __1692
 45594  	}
 45595  
 45596  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45597  		goto __1693
 45598  	}
 45599  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45600  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45601  		goto __1694
 45602  	}
 45603  	return -2
 45604  __1694:
 45605  	;
 45606  __1693:
 45607  	;
 45608  
 45609  	rrc = DMATCH_NOMATCH
 45610  	goto RETURN_SWITCH
 45611  
 45612  __1692:
 45613  	;
 45614  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45615  	default:
 45616  		goto __1696
 45617  	case '\011':
 45618  		goto __1697
 45619  	case '\040':
 45620  		goto __1698
 45621  	case int32(libc.Uint8FromInt32(160)):
 45622  		goto __1699
 45623  	}
 45624  	goto __1695
 45625  
 45626  __1696:
 45627  	goto __1695
 45628  __1697:
 45629  __1698:
 45630  __1699:
 45631  	rrc = DMATCH_NOMATCH
 45632  	goto RETURN_SWITCH
 45633  
 45634  __1695:
 45635  	;
 45636  	goto __1690
 45637  __1690:
 45638  	i++
 45639  	goto __1689
 45640  	goto __1691
 45641  __1691:
 45642  	;
 45643  	goto __1647
 45644  
 45645  __1652:
 45646  	i = Tuint32_t(1)
 45647  __1700:
 45648  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45649  		goto __1702
 45650  	}
 45651  
 45652  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45653  		goto __1703
 45654  	}
 45655  
 45656  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45657  		goto __1704
 45658  	}
 45659  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45660  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45661  		goto __1705
 45662  	}
 45663  	return -2
 45664  __1705:
 45665  	;
 45666  __1704:
 45667  	;
 45668  
 45669  	rrc = DMATCH_NOMATCH
 45670  	goto RETURN_SWITCH
 45671  
 45672  __1703:
 45673  	;
 45674  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45675  	default:
 45676  		goto __1707
 45677  	case '\011':
 45678  		goto __1708
 45679  	case '\040':
 45680  		goto __1709
 45681  	case int32(libc.Uint8FromInt32(160)):
 45682  		goto __1710
 45683  	}
 45684  	goto __1706
 45685  
 45686  __1707:
 45687  	rrc = DMATCH_NOMATCH
 45688  	goto RETURN_SWITCH
 45689  
 45690  __1708:
 45691  __1709:
 45692  __1710:
 45693  	goto __1706
 45694  __1706:
 45695  	;
 45696  	goto __1701
 45697  __1701:
 45698  	i++
 45699  	goto __1700
 45700  	goto __1702
 45701  __1702:
 45702  	;
 45703  	goto __1647
 45704  
 45705  __1653:
 45706  	i = Tuint32_t(1)
 45707  __1711:
 45708  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45709  		goto __1713
 45710  	}
 45711  
 45712  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45713  		goto __1714
 45714  	}
 45715  
 45716  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45717  		goto __1715
 45718  	}
 45719  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45720  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45721  		goto __1716
 45722  	}
 45723  	return -2
 45724  __1716:
 45725  	;
 45726  __1715:
 45727  	;
 45728  
 45729  	rrc = DMATCH_NOMATCH
 45730  	goto RETURN_SWITCH
 45731  
 45732  __1714:
 45733  	;
 45734  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45735  	case '\012':
 45736  		goto __1718
 45737  	case '\013':
 45738  		goto __1719
 45739  	case '\014':
 45740  		goto __1720
 45741  	case '\015':
 45742  		goto __1721
 45743  	case int32(libc.Uint8FromInt32(133)):
 45744  		goto __1722
 45745  	default:
 45746  		goto __1723
 45747  	}
 45748  	goto __1717
 45749  
 45750  __1718:
 45751  __1719:
 45752  __1720:
 45753  __1721:
 45754  __1722:
 45755  	rrc = DMATCH_NOMATCH
 45756  	goto RETURN_SWITCH
 45757  
 45758  __1723:
 45759  	goto __1717
 45760  __1717:
 45761  	;
 45762  	goto __1712
 45763  __1712:
 45764  	i++
 45765  	goto __1711
 45766  	goto __1713
 45767  __1713:
 45768  	;
 45769  	goto __1647
 45770  
 45771  __1654:
 45772  	i = Tuint32_t(1)
 45773  __1724:
 45774  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45775  		goto __1726
 45776  	}
 45777  
 45778  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45779  		goto __1727
 45780  	}
 45781  
 45782  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45783  		goto __1728
 45784  	}
 45785  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45786  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45787  		goto __1729
 45788  	}
 45789  	return -2
 45790  __1729:
 45791  	;
 45792  __1728:
 45793  	;
 45794  
 45795  	rrc = DMATCH_NOMATCH
 45796  	goto RETURN_SWITCH
 45797  
 45798  __1727:
 45799  	;
 45800  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45801  	default:
 45802  		goto __1731
 45803  	case '\012':
 45804  		goto __1732
 45805  	case '\013':
 45806  		goto __1733
 45807  	case '\014':
 45808  		goto __1734
 45809  	case '\015':
 45810  		goto __1735
 45811  	case int32(libc.Uint8FromInt32(133)):
 45812  		goto __1736
 45813  	}
 45814  	goto __1730
 45815  
 45816  __1731:
 45817  	rrc = DMATCH_NOMATCH
 45818  	goto RETURN_SWITCH
 45819  
 45820  __1732:
 45821  __1733:
 45822  __1734:
 45823  __1735:
 45824  __1736:
 45825  	goto __1730
 45826  __1730:
 45827  	;
 45828  	goto __1725
 45829  __1725:
 45830  	i++
 45831  	goto __1724
 45832  	goto __1726
 45833  __1726:
 45834  	;
 45835  	goto __1647
 45836  
 45837  __1655:
 45838  	i = Tuint32_t(1)
 45839  __1737:
 45840  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45841  		goto __1739
 45842  	}
 45843  
 45844  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45845  		goto __1740
 45846  	}
 45847  
 45848  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45849  		goto __1741
 45850  	}
 45851  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45852  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45853  		goto __1742
 45854  	}
 45855  	return -2
 45856  __1742:
 45857  	;
 45858  __1741:
 45859  	;
 45860  
 45861  	rrc = DMATCH_NOMATCH
 45862  	goto RETURN_SWITCH
 45863  
 45864  __1740:
 45865  	;
 45866  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) {
 45867  		goto __1743
 45868  	}
 45869  	rrc = DMATCH_NOMATCH
 45870  	goto RETURN_SWITCH
 45871  __1743:
 45872  	;
 45873  
 45874  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45875  	goto __1738
 45876  __1738:
 45877  	i++
 45878  	goto __1737
 45879  	goto __1739
 45880  __1739:
 45881  	;
 45882  	goto __1647
 45883  
 45884  __1656:
 45885  	i = Tuint32_t(1)
 45886  __1744:
 45887  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45888  		goto __1746
 45889  	}
 45890  
 45891  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45892  		goto __1747
 45893  	}
 45894  
 45895  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45896  		goto __1748
 45897  	}
 45898  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45899  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45900  		goto __1749
 45901  	}
 45902  	return -2
 45903  __1749:
 45904  	;
 45905  __1748:
 45906  	;
 45907  
 45908  	rrc = DMATCH_NOMATCH
 45909  	goto RETURN_SWITCH
 45910  
 45911  __1747:
 45912  	;
 45913  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) {
 45914  		goto __1750
 45915  	}
 45916  	rrc = DMATCH_NOMATCH
 45917  	goto RETURN_SWITCH
 45918  __1750:
 45919  	;
 45920  
 45921  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45922  	goto __1745
 45923  __1745:
 45924  	i++
 45925  	goto __1744
 45926  	goto __1746
 45927  __1746:
 45928  	;
 45929  	goto __1647
 45930  
 45931  __1657:
 45932  	i = Tuint32_t(1)
 45933  __1751:
 45934  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45935  		goto __1753
 45936  	}
 45937  
 45938  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45939  		goto __1754
 45940  	}
 45941  
 45942  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45943  		goto __1755
 45944  	}
 45945  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45946  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45947  		goto __1756
 45948  	}
 45949  	return -2
 45950  __1756:
 45951  	;
 45952  __1755:
 45953  	;
 45954  
 45955  	rrc = DMATCH_NOMATCH
 45956  	goto RETURN_SWITCH
 45957  
 45958  __1754:
 45959  	;
 45960  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) {
 45961  		goto __1757
 45962  	}
 45963  	rrc = DMATCH_NOMATCH
 45964  	goto RETURN_SWITCH
 45965  __1757:
 45966  	;
 45967  
 45968  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45969  	goto __1752
 45970  __1752:
 45971  	i++
 45972  	goto __1751
 45973  	goto __1753
 45974  __1753:
 45975  	;
 45976  	goto __1647
 45977  
 45978  __1658:
 45979  	i = Tuint32_t(1)
 45980  __1758:
 45981  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45982  		goto __1760
 45983  	}
 45984  
 45985  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45986  		goto __1761
 45987  	}
 45988  
 45989  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45990  		goto __1762
 45991  	}
 45992  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45993  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45994  		goto __1763
 45995  	}
 45996  	return -2
 45997  __1763:
 45998  	;
 45999  __1762:
 46000  	;
 46001  
 46002  	rrc = DMATCH_NOMATCH
 46003  	goto RETURN_SWITCH
 46004  
 46005  __1761:
 46006  	;
 46007  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) {
 46008  		goto __1764
 46009  	}
 46010  	rrc = DMATCH_NOMATCH
 46011  	goto RETURN_SWITCH
 46012  __1764:
 46013  	;
 46014  
 46015  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46016  	goto __1759
 46017  __1759:
 46018  	i++
 46019  	goto __1758
 46020  	goto __1760
 46021  __1760:
 46022  	;
 46023  	goto __1647
 46024  
 46025  __1659:
 46026  	i = Tuint32_t(1)
 46027  __1765:
 46028  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 46029  		goto __1767
 46030  	}
 46031  
 46032  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46033  		goto __1768
 46034  	}
 46035  
 46036  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46037  		goto __1769
 46038  	}
 46039  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46040  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46041  		goto __1770
 46042  	}
 46043  	return -2
 46044  __1770:
 46045  	;
 46046  __1769:
 46047  	;
 46048  
 46049  	rrc = DMATCH_NOMATCH
 46050  	goto RETURN_SWITCH
 46051  
 46052  __1768:
 46053  	;
 46054  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) {
 46055  		goto __1771
 46056  	}
 46057  	rrc = DMATCH_NOMATCH
 46058  	goto RETURN_SWITCH
 46059  __1771:
 46060  	;
 46061  
 46062  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46063  	goto __1766
 46064  __1766:
 46065  	i++
 46066  	goto __1765
 46067  	goto __1767
 46068  __1767:
 46069  	;
 46070  	goto __1647
 46071  
 46072  __1660:
 46073  	i = Tuint32_t(1)
 46074  __1772:
 46075  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 46076  		goto __1774
 46077  	}
 46078  
 46079  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46080  		goto __1775
 46081  	}
 46082  
 46083  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46084  		goto __1776
 46085  	}
 46086  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46087  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46088  		goto __1777
 46089  	}
 46090  	return -2
 46091  __1777:
 46092  	;
 46093  __1776:
 46094  	;
 46095  
 46096  	rrc = DMATCH_NOMATCH
 46097  	goto RETURN_SWITCH
 46098  
 46099  __1775:
 46100  	;
 46101  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) {
 46102  		goto __1778
 46103  	}
 46104  	rrc = DMATCH_NOMATCH
 46105  	goto RETURN_SWITCH
 46106  __1778:
 46107  	;
 46108  
 46109  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46110  	goto __1773
 46111  __1773:
 46112  	i++
 46113  	goto __1772
 46114  	goto __1774
 46115  __1774:
 46116  	;
 46117  	goto __1647
 46118  
 46119  __1661:
 46120  	return -44
 46121  __1647:
 46122  	;
 46123  __1409:
 46124  	;
 46125  __1388:
 46126  	;
 46127  __1127:
 46128  	;
 46129  __1125:
 46130  	;
 46131  
 46132  	// If Lmin = Lmax we are done. Continue with the main loop.
 46133  
 46134  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46135  		goto __1779
 46136  	}
 46137  	goto __11
 46138  __1779:
 46139  	;
 46140  
 46141  	// If minimizing, we have to test the rest of the pattern before each
 46142  	//     subsequent match. This means we cannot use a local "notmatch" variable as
 46143  	//     in the other cases. As all 4 temporary 32-bit values in the frame are
 46144  	//     already in use, just test the type each time.
 46145  
 46146  	if !(reptype == REPTYPE_MIN) {
 46147  		goto __1780
 46148  	}
 46149  
 46150  	if !(proptype >= 0) {
 46151  		goto __1782
 46152  	}
 46153  
 46154  	switch proptype {
 46155  	case DPT_ANY:
 46156  		goto __1785
 46157  	// Control never gets here
 46158  
 46159  	case DPT_LAMP:
 46160  		goto __1786
 46161  	// Control never gets here
 46162  
 46163  	case DPT_GC:
 46164  		goto __1787
 46165  	// Control never gets here
 46166  
 46167  	case DPT_PC:
 46168  		goto __1788
 46169  	// Control never gets here
 46170  
 46171  	case DPT_SC:
 46172  		goto __1789
 46173  	// Control never gets here
 46174  
 46175  	case DPT_SCX:
 46176  		goto __1790
 46177  	// Control never gets here
 46178  
 46179  	case DPT_ALNUM:
 46180  		goto __1791
 46181  	// Control never gets here
 46182  
 46183  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46184  	//           which means that Perl space and POSIX space are now identical. PCRE
 46185  	//           was changed at release 8.34.
 46186  
 46187  	case DPT_SPACE:
 46188  		goto __1792 // Perl space
 46189  	case DPT_PXSPACE:
 46190  		goto __1793
 46191  	// Control never gets here
 46192  
 46193  	case DPT_WORD:
 46194  		goto __1794
 46195  	// Control never gets here
 46196  
 46197  	case DPT_CLIST:
 46198  		goto __1795
 46199  	// Control never gets here
 46200  
 46201  	case DPT_UCNC:
 46202  		goto __1796
 46203  	// Control never gets here
 46204  
 46205  	case DPT_BIDICL:
 46206  		goto __1797
 46207  	// Control never gets here
 46208  
 46209  	case DPT_BOOL:
 46210  		goto __1798
 46211  	// Control never gets here
 46212  
 46213  	// This should never occur
 46214  	default:
 46215  		goto __1799
 46216  	}
 46217  	goto __1784
 46218  
 46219  __1785:
 46220  __1800:
 46221  
 46222  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46223  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM208
 46224  	goto MATCH_RECURSE
 46225  L_RM208:
 46226  	;
 46227  
 46228  	if !(rrc != DMATCH_NOMATCH) {
 46229  		goto __1803
 46230  	}
 46231  	rrc = rrc
 46232  	goto RETURN_SWITCH
 46233  __1803:
 46234  	;
 46235  
 46236  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46237  		goto __1804
 46238  	}
 46239  	rrc = DMATCH_NOMATCH
 46240  	goto RETURN_SWITCH
 46241  __1804:
 46242  	;
 46243  
 46244  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46245  		goto __1805
 46246  	}
 46247  
 46248  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46249  		goto __1806
 46250  	}
 46251  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46252  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46253  		goto __1807
 46254  	}
 46255  	return -2
 46256  __1807:
 46257  	;
 46258  __1806:
 46259  	;
 46260  
 46261  	rrc = DMATCH_NOMATCH
 46262  	goto RETURN_SWITCH
 46263  
 46264  __1805:
 46265  	;
 46266  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46267  	if !(utf != 0 && fc >= 0xc0) {
 46268  		goto __1808
 46269  	}
 46270  	if !(fc&0x20 == Tuint32_t(0)) {
 46271  		goto __1809
 46272  	}
 46273  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46274  	goto __1810
 46275  __1809:
 46276  	if !(fc&0x10 == Tuint32_t(0)) {
 46277  		goto __1811
 46278  	}
 46279  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46280  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46281  	goto __1812
 46282  __1811:
 46283  	if !(fc&0x08 == Tuint32_t(0)) {
 46284  		goto __1813
 46285  	}
 46286  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46287  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46288  	goto __1814
 46289  __1813:
 46290  	if !(fc&0x04 == Tuint32_t(0)) {
 46291  		goto __1815
 46292  	}
 46293  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46294  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46295  	goto __1816
 46296  __1815:
 46297  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46298  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46299  __1816:
 46300  	;
 46301  __1814:
 46302  	;
 46303  __1812:
 46304  	;
 46305  __1810:
 46306  	;
 46307  __1808:
 46308  	;
 46309  
 46310  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 46311  		goto __1817
 46312  	}
 46313  	rrc = DMATCH_NOMATCH
 46314  	goto RETURN_SWITCH
 46315  __1817:
 46316  	;
 46317  
 46318  	goto __1801
 46319  __1801:
 46320  	goto __1800
 46321  	goto __1802
 46322  __1802:
 46323  	;
 46324  	// Control never gets here
 46325  
 46326  __1786:
 46327  __1818:
 46328  
 46329  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46330  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM209
 46331  	goto MATCH_RECURSE
 46332  L_RM209:
 46333  	;
 46334  
 46335  	if !(rrc != DMATCH_NOMATCH) {
 46336  		goto __1821
 46337  	}
 46338  	rrc = rrc
 46339  	goto RETURN_SWITCH
 46340  __1821:
 46341  	;
 46342  
 46343  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46344  		goto __1822
 46345  	}
 46346  	rrc = DMATCH_NOMATCH
 46347  	goto RETURN_SWITCH
 46348  __1822:
 46349  	;
 46350  
 46351  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46352  		goto __1823
 46353  	}
 46354  
 46355  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46356  		goto __1824
 46357  	}
 46358  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46359  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46360  		goto __1825
 46361  	}
 46362  	return -2
 46363  __1825:
 46364  	;
 46365  __1824:
 46366  	;
 46367  
 46368  	rrc = DMATCH_NOMATCH
 46369  	goto RETURN_SWITCH
 46370  
 46371  __1823:
 46372  	;
 46373  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46374  	if !(utf != 0 && fc >= 0xc0) {
 46375  		goto __1826
 46376  	}
 46377  	if !(fc&0x20 == Tuint32_t(0)) {
 46378  		goto __1827
 46379  	}
 46380  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46381  	goto __1828
 46382  __1827:
 46383  	if !(fc&0x10 == Tuint32_t(0)) {
 46384  		goto __1829
 46385  	}
 46386  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46387  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46388  	goto __1830
 46389  __1829:
 46390  	if !(fc&0x08 == Tuint32_t(0)) {
 46391  		goto __1831
 46392  	}
 46393  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46394  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46395  	goto __1832
 46396  __1831:
 46397  	if !(fc&0x04 == Tuint32_t(0)) {
 46398  		goto __1833
 46399  	}
 46400  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46402  	goto __1834
 46403  __1833:
 46404  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46405  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46406  __1834:
 46407  	;
 46408  __1832:
 46409  	;
 46410  __1830:
 46411  	;
 46412  __1828:
 46413  	;
 46414  __1826:
 46415  	;
 46416  
 46417  	chartype1 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 46418  	if !(libc.Bool32(chartype1 == ucp_Lu || chartype1 == ucp_Ll || chartype1 == ucp_Lt) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46419  		goto __1835
 46420  	}
 46421  	rrc = DMATCH_NOMATCH
 46422  	goto RETURN_SWITCH
 46423  __1835:
 46424  	;
 46425  
 46426  	goto __1819
 46427  __1819:
 46428  	goto __1818
 46429  	goto __1820
 46430  __1820:
 46431  	;
 46432  	// Control never gets here
 46433  
 46434  __1787:
 46435  __1836:
 46436  
 46437  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46438  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM210
 46439  	goto MATCH_RECURSE
 46440  L_RM210:
 46441  	;
 46442  
 46443  	if !(rrc != DMATCH_NOMATCH) {
 46444  		goto __1839
 46445  	}
 46446  	rrc = rrc
 46447  	goto RETURN_SWITCH
 46448  __1839:
 46449  	;
 46450  
 46451  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46452  		goto __1840
 46453  	}
 46454  	rrc = DMATCH_NOMATCH
 46455  	goto RETURN_SWITCH
 46456  __1840:
 46457  	;
 46458  
 46459  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46460  		goto __1841
 46461  	}
 46462  
 46463  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46464  		goto __1842
 46465  	}
 46466  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46467  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46468  		goto __1843
 46469  	}
 46470  	return -2
 46471  __1843:
 46472  	;
 46473  __1842:
 46474  	;
 46475  
 46476  	rrc = DMATCH_NOMATCH
 46477  	goto RETURN_SWITCH
 46478  
 46479  __1841:
 46480  	;
 46481  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46482  	if !(utf != 0 && fc >= 0xc0) {
 46483  		goto __1844
 46484  	}
 46485  	if !(fc&0x20 == Tuint32_t(0)) {
 46486  		goto __1845
 46487  	}
 46488  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46489  	goto __1846
 46490  __1845:
 46491  	if !(fc&0x10 == Tuint32_t(0)) {
 46492  		goto __1847
 46493  	}
 46494  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46495  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46496  	goto __1848
 46497  __1847:
 46498  	if !(fc&0x08 == Tuint32_t(0)) {
 46499  		goto __1849
 46500  	}
 46501  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46502  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46503  	goto __1850
 46504  __1849:
 46505  	if !(fc&0x04 == Tuint32_t(0)) {
 46506  		goto __1851
 46507  	}
 46508  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46510  	goto __1852
 46511  __1851:
 46512  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46513  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46514  __1852:
 46515  	;
 46516  __1850:
 46517  	;
 46518  __1848:
 46519  	;
 46520  __1846:
 46521  	;
 46522  __1844:
 46523  	;
 46524  
 46525  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46526  		goto __1853
 46527  	}
 46528  	rrc = DMATCH_NOMATCH
 46529  	goto RETURN_SWITCH
 46530  __1853:
 46531  	;
 46532  
 46533  	goto __1837
 46534  __1837:
 46535  	goto __1836
 46536  	goto __1838
 46537  __1838:
 46538  	;
 46539  	// Control never gets here
 46540  
 46541  __1788:
 46542  __1854:
 46543  
 46544  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46545  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM211
 46546  	goto MATCH_RECURSE
 46547  L_RM211:
 46548  	;
 46549  
 46550  	if !(rrc != DMATCH_NOMATCH) {
 46551  		goto __1857
 46552  	}
 46553  	rrc = rrc
 46554  	goto RETURN_SWITCH
 46555  __1857:
 46556  	;
 46557  
 46558  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46559  		goto __1858
 46560  	}
 46561  	rrc = DMATCH_NOMATCH
 46562  	goto RETURN_SWITCH
 46563  __1858:
 46564  	;
 46565  
 46566  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46567  		goto __1859
 46568  	}
 46569  
 46570  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46571  		goto __1860
 46572  	}
 46573  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46574  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46575  		goto __1861
 46576  	}
 46577  	return -2
 46578  __1861:
 46579  	;
 46580  __1860:
 46581  	;
 46582  
 46583  	rrc = DMATCH_NOMATCH
 46584  	goto RETURN_SWITCH
 46585  
 46586  __1859:
 46587  	;
 46588  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46589  	if !(utf != 0 && fc >= 0xc0) {
 46590  		goto __1862
 46591  	}
 46592  	if !(fc&0x20 == Tuint32_t(0)) {
 46593  		goto __1863
 46594  	}
 46595  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46596  	goto __1864
 46597  __1863:
 46598  	if !(fc&0x10 == Tuint32_t(0)) {
 46599  		goto __1865
 46600  	}
 46601  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46602  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46603  	goto __1866
 46604  __1865:
 46605  	if !(fc&0x08 == Tuint32_t(0)) {
 46606  		goto __1867
 46607  	}
 46608  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46609  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46610  	goto __1868
 46611  __1867:
 46612  	if !(fc&0x04 == Tuint32_t(0)) {
 46613  		goto __1869
 46614  	}
 46615  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46616  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46617  	goto __1870
 46618  __1869:
 46619  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46620  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46621  __1870:
 46622  	;
 46623  __1868:
 46624  	;
 46625  __1866:
 46626  	;
 46627  __1864:
 46628  	;
 46629  __1862:
 46630  	;
 46631  
 46632  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46633  		goto __1871
 46634  	}
 46635  	rrc = DMATCH_NOMATCH
 46636  	goto RETURN_SWITCH
 46637  __1871:
 46638  	;
 46639  
 46640  	goto __1855
 46641  __1855:
 46642  	goto __1854
 46643  	goto __1856
 46644  __1856:
 46645  	;
 46646  	// Control never gets here
 46647  
 46648  __1789:
 46649  __1872:
 46650  
 46651  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46652  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM212
 46653  	goto MATCH_RECURSE
 46654  L_RM212:
 46655  	;
 46656  
 46657  	if !(rrc != DMATCH_NOMATCH) {
 46658  		goto __1875
 46659  	}
 46660  	rrc = rrc
 46661  	goto RETURN_SWITCH
 46662  __1875:
 46663  	;
 46664  
 46665  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46666  		goto __1876
 46667  	}
 46668  	rrc = DMATCH_NOMATCH
 46669  	goto RETURN_SWITCH
 46670  __1876:
 46671  	;
 46672  
 46673  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46674  		goto __1877
 46675  	}
 46676  
 46677  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46678  		goto __1878
 46679  	}
 46680  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46681  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46682  		goto __1879
 46683  	}
 46684  	return -2
 46685  __1879:
 46686  	;
 46687  __1878:
 46688  	;
 46689  
 46690  	rrc = DMATCH_NOMATCH
 46691  	goto RETURN_SWITCH
 46692  
 46693  __1877:
 46694  	;
 46695  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46696  	if !(utf != 0 && fc >= 0xc0) {
 46697  		goto __1880
 46698  	}
 46699  	if !(fc&0x20 == Tuint32_t(0)) {
 46700  		goto __1881
 46701  	}
 46702  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46703  	goto __1882
 46704  __1881:
 46705  	if !(fc&0x10 == Tuint32_t(0)) {
 46706  		goto __1883
 46707  	}
 46708  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46709  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46710  	goto __1884
 46711  __1883:
 46712  	if !(fc&0x08 == Tuint32_t(0)) {
 46713  		goto __1885
 46714  	}
 46715  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46716  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46717  	goto __1886
 46718  __1885:
 46719  	if !(fc&0x04 == Tuint32_t(0)) {
 46720  		goto __1887
 46721  	}
 46722  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46723  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46724  	goto __1888
 46725  __1887:
 46726  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46727  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46728  __1888:
 46729  	;
 46730  __1886:
 46731  	;
 46732  __1884:
 46733  	;
 46734  __1882:
 46735  	;
 46736  __1880:
 46737  	;
 46738  
 46739  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46740  		goto __1889
 46741  	}
 46742  	rrc = DMATCH_NOMATCH
 46743  	goto RETURN_SWITCH
 46744  __1889:
 46745  	;
 46746  
 46747  	goto __1873
 46748  __1873:
 46749  	goto __1872
 46750  	goto __1874
 46751  __1874:
 46752  	;
 46753  	// Control never gets here
 46754  
 46755  __1790:
 46756  __1890:
 46757  
 46758  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46759  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM225
 46760  	goto MATCH_RECURSE
 46761  L_RM225:
 46762  	;
 46763  
 46764  	if !(rrc != DMATCH_NOMATCH) {
 46765  		goto __1893
 46766  	}
 46767  	rrc = rrc
 46768  	goto RETURN_SWITCH
 46769  __1893:
 46770  	;
 46771  
 46772  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46773  		goto __1894
 46774  	}
 46775  	rrc = DMATCH_NOMATCH
 46776  	goto RETURN_SWITCH
 46777  __1894:
 46778  	;
 46779  
 46780  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46781  		goto __1895
 46782  	}
 46783  
 46784  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46785  		goto __1896
 46786  	}
 46787  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46788  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46789  		goto __1897
 46790  	}
 46791  	return -2
 46792  __1897:
 46793  	;
 46794  __1896:
 46795  	;
 46796  
 46797  	rrc = DMATCH_NOMATCH
 46798  	goto RETURN_SWITCH
 46799  
 46800  __1895:
 46801  	;
 46802  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46803  	if !(utf != 0 && fc >= 0xc0) {
 46804  		goto __1898
 46805  	}
 46806  	if !(fc&0x20 == Tuint32_t(0)) {
 46807  		goto __1899
 46808  	}
 46809  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46810  	goto __1900
 46811  __1899:
 46812  	if !(fc&0x10 == Tuint32_t(0)) {
 46813  		goto __1901
 46814  	}
 46815  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46816  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46817  	goto __1902
 46818  __1901:
 46819  	if !(fc&0x08 == Tuint32_t(0)) {
 46820  		goto __1903
 46821  	}
 46822  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46823  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46824  	goto __1904
 46825  __1903:
 46826  	if !(fc&0x04 == Tuint32_t(0)) {
 46827  		goto __1905
 46828  	}
 46829  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46830  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46831  	goto __1906
 46832  __1905:
 46833  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46834  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46835  __1906:
 46836  	;
 46837  __1904:
 46838  	;
 46839  __1902:
 46840  	;
 46841  __1900:
 46842  	;
 46843  __1898:
 46844  	;
 46845  
 46846  	prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 46847  	ok4 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) ||
 46848  		*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 46849  	if !(ok4 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46850  		goto __1907
 46851  	}
 46852  	rrc = DMATCH_NOMATCH
 46853  	goto RETURN_SWITCH
 46854  __1907:
 46855  	;
 46856  
 46857  	goto __1891
 46858  __1891:
 46859  	goto __1890
 46860  	goto __1892
 46861  __1892:
 46862  	;
 46863  	// Control never gets here
 46864  
 46865  __1791:
 46866  __1908:
 46867  
 46868  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46869  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM213
 46870  	goto MATCH_RECURSE
 46871  L_RM213:
 46872  	;
 46873  
 46874  	if !(rrc != DMATCH_NOMATCH) {
 46875  		goto __1911
 46876  	}
 46877  	rrc = rrc
 46878  	goto RETURN_SWITCH
 46879  __1911:
 46880  	;
 46881  
 46882  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46883  		goto __1912
 46884  	}
 46885  	rrc = DMATCH_NOMATCH
 46886  	goto RETURN_SWITCH
 46887  __1912:
 46888  	;
 46889  
 46890  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46891  		goto __1913
 46892  	}
 46893  
 46894  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46895  		goto __1914
 46896  	}
 46897  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46898  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46899  		goto __1915
 46900  	}
 46901  	return -2
 46902  __1915:
 46903  	;
 46904  __1914:
 46905  	;
 46906  
 46907  	rrc = DMATCH_NOMATCH
 46908  	goto RETURN_SWITCH
 46909  
 46910  __1913:
 46911  	;
 46912  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46913  	if !(utf != 0 && fc >= 0xc0) {
 46914  		goto __1916
 46915  	}
 46916  	if !(fc&0x20 == Tuint32_t(0)) {
 46917  		goto __1917
 46918  	}
 46919  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46920  	goto __1918
 46921  __1917:
 46922  	if !(fc&0x10 == Tuint32_t(0)) {
 46923  		goto __1919
 46924  	}
 46925  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46926  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46927  	goto __1920
 46928  __1919:
 46929  	if !(fc&0x08 == Tuint32_t(0)) {
 46930  		goto __1921
 46931  	}
 46932  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46933  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46934  	goto __1922
 46935  __1921:
 46936  	if !(fc&0x04 == Tuint32_t(0)) {
 46937  		goto __1923
 46938  	}
 46939  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46940  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46941  	goto __1924
 46942  __1923:
 46943  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46944  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46945  __1924:
 46946  	;
 46947  __1922:
 46948  	;
 46949  __1920:
 46950  	;
 46951  __1918:
 46952  	;
 46953  __1916:
 46954  	;
 46955  
 46956  	category2 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 46957  	if !(libc.Bool32(category2 == ucp_L || category2 == ucp_N) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46958  		goto __1925
 46959  	}
 46960  	rrc = DMATCH_NOMATCH
 46961  	goto RETURN_SWITCH
 46962  __1925:
 46963  	;
 46964  
 46965  	goto __1909
 46966  __1909:
 46967  	goto __1908
 46968  	goto __1910
 46969  __1910:
 46970  	;
 46971  	// Control never gets here
 46972  
 46973  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46974  	//           which means that Perl space and POSIX space are now identical. PCRE
 46975  	//           was changed at release 8.34.
 46976  
 46977  __1792: // Perl space
 46978  __1793: // POSIX space
 46979  __1926:
 46980  
 46981  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46982  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM214
 46983  	goto MATCH_RECURSE
 46984  L_RM214:
 46985  	;
 46986  
 46987  	if !(rrc != DMATCH_NOMATCH) {
 46988  		goto __1929
 46989  	}
 46990  	rrc = rrc
 46991  	goto RETURN_SWITCH
 46992  __1929:
 46993  	;
 46994  
 46995  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46996  		goto __1930
 46997  	}
 46998  	rrc = DMATCH_NOMATCH
 46999  	goto RETURN_SWITCH
 47000  __1930:
 47001  	;
 47002  
 47003  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47004  		goto __1931
 47005  	}
 47006  
 47007  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47008  		goto __1932
 47009  	}
 47010  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47011  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47012  		goto __1933
 47013  	}
 47014  	return -2
 47015  __1933:
 47016  	;
 47017  __1932:
 47018  	;
 47019  
 47020  	rrc = DMATCH_NOMATCH
 47021  	goto RETURN_SWITCH
 47022  
 47023  __1931:
 47024  	;
 47025  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47026  	if !(utf != 0 && fc >= 0xc0) {
 47027  		goto __1934
 47028  	}
 47029  	if !(fc&0x20 == Tuint32_t(0)) {
 47030  		goto __1935
 47031  	}
 47032  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47033  	goto __1936
 47034  __1935:
 47035  	if !(fc&0x10 == Tuint32_t(0)) {
 47036  		goto __1937
 47037  	}
 47038  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47039  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47040  	goto __1938
 47041  __1937:
 47042  	if !(fc&0x08 == Tuint32_t(0)) {
 47043  		goto __1939
 47044  	}
 47045  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47046  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47047  	goto __1940
 47048  __1939:
 47049  	if !(fc&0x04 == Tuint32_t(0)) {
 47050  		goto __1941
 47051  	}
 47052  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47053  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47054  	goto __1942
 47055  __1941:
 47056  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47057  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47058  __1942:
 47059  	;
 47060  __1940:
 47061  	;
 47062  __1938:
 47063  	;
 47064  __1936:
 47065  	;
 47066  __1934:
 47067  	;
 47068  
 47069  	switch fc {
 47070  	case Tuint32_t('\011'):
 47071  		goto __1944
 47072  	case Tuint32_t('\040'):
 47073  		goto __1945
 47074  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 47075  		goto __1946
 47076  	case Tuint32_t(0x1680):
 47077  		goto __1947 /* OGHAM SPACE MARK */
 47078  	case Tuint32_t(0x180e):
 47079  		goto __1948 /* MONGOLIAN VOWEL SEPARATOR */
 47080  	case Tuint32_t(0x2000):
 47081  		goto __1949 /* EN QUAD */
 47082  	case Tuint32_t(0x2001):
 47083  		goto __1950 /* EM QUAD */
 47084  	case Tuint32_t(0x2002):
 47085  		goto __1951 /* EN SPACE */
 47086  	case Tuint32_t(0x2003):
 47087  		goto __1952 /* EM SPACE */
 47088  	case Tuint32_t(0x2004):
 47089  		goto __1953 /* THREE-PER-EM SPACE */
 47090  	case Tuint32_t(0x2005):
 47091  		goto __1954 /* FOUR-PER-EM SPACE */
 47092  	case Tuint32_t(0x2006):
 47093  		goto __1955 /* SIX-PER-EM SPACE */
 47094  	case Tuint32_t(0x2007):
 47095  		goto __1956 /* FIGURE SPACE */
 47096  	case Tuint32_t(0x2008):
 47097  		goto __1957 /* PUNCTUATION SPACE */
 47098  	case Tuint32_t(0x2009):
 47099  		goto __1958 /* THIN SPACE */
 47100  	case Tuint32_t(0x200A):
 47101  		goto __1959 /* HAIR SPACE */
 47102  	case Tuint32_t(0x202f):
 47103  		goto __1960 /* NARROW NO-BREAK SPACE */
 47104  	case Tuint32_t(0x205f):
 47105  		goto __1961 /* MEDIUM MATHEMATICAL SPACE */
 47106  	case Tuint32_t(0x3000):
 47107  		goto __1962
 47108  	case Tuint32_t('\012'):
 47109  		goto __1963
 47110  	case Tuint32_t('\013'):
 47111  		goto __1964
 47112  	case Tuint32_t('\014'):
 47113  		goto __1965
 47114  	case Tuint32_t('\015'):
 47115  		goto __1966
 47116  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 47117  		goto __1967
 47118  	case Tuint32_t(0x2028):
 47119  		goto __1968 /* LINE SEPARATOR */
 47120  	case Tuint32_t(0x2029):
 47121  		goto __1969
 47122  
 47123  	default:
 47124  		goto __1970
 47125  	}
 47126  	goto __1943
 47127  
 47128  __1944:
 47129  __1945:
 47130  __1946:
 47131  __1947: /* OGHAM SPACE MARK */
 47132  __1948: /* MONGOLIAN VOWEL SEPARATOR */
 47133  __1949: /* EN QUAD */
 47134  __1950: /* EM QUAD */
 47135  __1951: /* EN SPACE */
 47136  __1952: /* EM SPACE */
 47137  __1953: /* THREE-PER-EM SPACE */
 47138  __1954: /* FOUR-PER-EM SPACE */
 47139  __1955: /* SIX-PER-EM SPACE */
 47140  __1956: /* FIGURE SPACE */
 47141  __1957: /* PUNCTUATION SPACE */
 47142  __1958: /* THIN SPACE */
 47143  __1959: /* HAIR SPACE */
 47144  __1960: /* NARROW NO-BREAK SPACE */
 47145  __1961: /* MEDIUM MATHEMATICAL SPACE */
 47146  __1962:
 47147  __1963:
 47148  __1964:
 47149  __1965:
 47150  __1966:
 47151  __1967:
 47152  __1968: /* LINE SEPARATOR */
 47153  __1969:
 47154  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47155  		goto __1971
 47156  	}
 47157  	rrc = DMATCH_NOMATCH
 47158  	goto RETURN_SWITCH
 47159  __1971:
 47160  	;
 47161  
 47162  	goto __1943
 47163  
 47164  __1970:
 47165  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47166  		goto __1972
 47167  	}
 47168  	rrc = DMATCH_NOMATCH
 47169  	goto RETURN_SWITCH
 47170  __1972:
 47171  	;
 47172  
 47173  	goto __1943
 47174  __1943:
 47175  	;
 47176  	goto __1927
 47177  __1927:
 47178  	goto __1926
 47179  	goto __1928
 47180  __1928:
 47181  	;
 47182  	// Control never gets here
 47183  
 47184  __1794:
 47185  __1973:
 47186  
 47187  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47188  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM215
 47189  	goto MATCH_RECURSE
 47190  L_RM215:
 47191  	;
 47192  
 47193  	if !(rrc != DMATCH_NOMATCH) {
 47194  		goto __1976
 47195  	}
 47196  	rrc = rrc
 47197  	goto RETURN_SWITCH
 47198  __1976:
 47199  	;
 47200  
 47201  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47202  		goto __1977
 47203  	}
 47204  	rrc = DMATCH_NOMATCH
 47205  	goto RETURN_SWITCH
 47206  __1977:
 47207  	;
 47208  
 47209  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47210  		goto __1978
 47211  	}
 47212  
 47213  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47214  		goto __1979
 47215  	}
 47216  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47217  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47218  		goto __1980
 47219  	}
 47220  	return -2
 47221  __1980:
 47222  	;
 47223  __1979:
 47224  	;
 47225  
 47226  	rrc = DMATCH_NOMATCH
 47227  	goto RETURN_SWITCH
 47228  
 47229  __1978:
 47230  	;
 47231  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47232  	if !(utf != 0 && fc >= 0xc0) {
 47233  		goto __1981
 47234  	}
 47235  	if !(fc&0x20 == Tuint32_t(0)) {
 47236  		goto __1982
 47237  	}
 47238  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47239  	goto __1983
 47240  __1982:
 47241  	if !(fc&0x10 == Tuint32_t(0)) {
 47242  		goto __1984
 47243  	}
 47244  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47245  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47246  	goto __1985
 47247  __1984:
 47248  	if !(fc&0x08 == Tuint32_t(0)) {
 47249  		goto __1986
 47250  	}
 47251  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47252  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47253  	goto __1987
 47254  __1986:
 47255  	if !(fc&0x04 == Tuint32_t(0)) {
 47256  		goto __1988
 47257  	}
 47258  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47259  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47260  	goto __1989
 47261  __1988:
 47262  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47263  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47264  __1989:
 47265  	;
 47266  __1987:
 47267  	;
 47268  __1985:
 47269  	;
 47270  __1983:
 47271  	;
 47272  __1981:
 47273  	;
 47274  
 47275  	category3 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 47276  	if !(libc.Bool32(category3 == ucp_L || category3 == ucp_N || fc == Tuint32_t('\137')) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47277  		goto __1990
 47278  	}
 47279  	rrc = DMATCH_NOMATCH
 47280  	goto RETURN_SWITCH
 47281  __1990:
 47282  	;
 47283  
 47284  	goto __1974
 47285  __1974:
 47286  	goto __1973
 47287  	goto __1975
 47288  __1975:
 47289  	;
 47290  	// Control never gets here
 47291  
 47292  __1795:
 47293  __1991:
 47294  
 47295  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47296  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM216
 47297  	goto MATCH_RECURSE
 47298  L_RM216:
 47299  	;
 47300  
 47301  	if !(rrc != DMATCH_NOMATCH) {
 47302  		goto __1994
 47303  	}
 47304  	rrc = rrc
 47305  	goto RETURN_SWITCH
 47306  __1994:
 47307  	;
 47308  
 47309  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47310  		goto __1995
 47311  	}
 47312  	rrc = DMATCH_NOMATCH
 47313  	goto RETURN_SWITCH
 47314  __1995:
 47315  	;
 47316  
 47317  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47318  		goto __1996
 47319  	}
 47320  
 47321  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47322  		goto __1997
 47323  	}
 47324  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47325  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47326  		goto __1998
 47327  	}
 47328  	return -2
 47329  __1998:
 47330  	;
 47331  __1997:
 47332  	;
 47333  
 47334  	rrc = DMATCH_NOMATCH
 47335  	goto RETURN_SWITCH
 47336  
 47337  __1996:
 47338  	;
 47339  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47340  	if !(utf != 0 && fc >= 0xc0) {
 47341  		goto __1999
 47342  	}
 47343  	if !(fc&0x20 == Tuint32_t(0)) {
 47344  		goto __2000
 47345  	}
 47346  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47347  	goto __2001
 47348  __2000:
 47349  	if !(fc&0x10 == Tuint32_t(0)) {
 47350  		goto __2002
 47351  	}
 47352  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47353  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47354  	goto __2003
 47355  __2002:
 47356  	if !(fc&0x08 == Tuint32_t(0)) {
 47357  		goto __2004
 47358  	}
 47359  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47360  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47361  	goto __2005
 47362  __2004:
 47363  	if !(fc&0x04 == Tuint32_t(0)) {
 47364  		goto __2006
 47365  	}
 47366  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47367  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47368  	goto __2007
 47369  __2006:
 47370  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47371  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47372  __2007:
 47373  	;
 47374  __2005:
 47375  	;
 47376  __2003:
 47377  	;
 47378  __2001:
 47379  	;
 47380  __1999:
 47381  	;
 47382  
 47383  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 47384  __2008:
 47385  
 47386  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 47387  		goto __2011
 47388  	}
 47389  
 47390  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47391  		goto __2012
 47392  	}
 47393  	goto __2010
 47394  __2012:
 47395  	;
 47396  	rrc = DMATCH_NOMATCH
 47397  	goto RETURN_SWITCH
 47398  
 47399  __2011:
 47400  	;
 47401  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 47402  		goto __2013
 47403  	}
 47404  
 47405  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47406  		goto __2014
 47407  	}
 47408  	rrc = DMATCH_NOMATCH
 47409  	goto RETURN_SWITCH
 47410  __2014:
 47411  	;
 47412  
 47413  	goto __2010
 47414  __2013:
 47415  	;
 47416  	goto __2009
 47417  __2009:
 47418  	goto __2008
 47419  	goto __2010
 47420  __2010:
 47421  	;
 47422  	goto __1992
 47423  __1992:
 47424  	goto __1991
 47425  	goto __1993
 47426  __1993:
 47427  	;
 47428  	// Control never gets here
 47429  
 47430  __1796:
 47431  __2015:
 47432  
 47433  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47434  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM217
 47435  	goto MATCH_RECURSE
 47436  L_RM217:
 47437  	;
 47438  
 47439  	if !(rrc != DMATCH_NOMATCH) {
 47440  		goto __2018
 47441  	}
 47442  	rrc = rrc
 47443  	goto RETURN_SWITCH
 47444  __2018:
 47445  	;
 47446  
 47447  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47448  		goto __2019
 47449  	}
 47450  	rrc = DMATCH_NOMATCH
 47451  	goto RETURN_SWITCH
 47452  __2019:
 47453  	;
 47454  
 47455  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47456  		goto __2020
 47457  	}
 47458  
 47459  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47460  		goto __2021
 47461  	}
 47462  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47463  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47464  		goto __2022
 47465  	}
 47466  	return -2
 47467  __2022:
 47468  	;
 47469  __2021:
 47470  	;
 47471  
 47472  	rrc = DMATCH_NOMATCH
 47473  	goto RETURN_SWITCH
 47474  
 47475  __2020:
 47476  	;
 47477  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47478  	if !(utf != 0 && fc >= 0xc0) {
 47479  		goto __2023
 47480  	}
 47481  	if !(fc&0x20 == Tuint32_t(0)) {
 47482  		goto __2024
 47483  	}
 47484  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47485  	goto __2025
 47486  __2024:
 47487  	if !(fc&0x10 == Tuint32_t(0)) {
 47488  		goto __2026
 47489  	}
 47490  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47492  	goto __2027
 47493  __2026:
 47494  	if !(fc&0x08 == Tuint32_t(0)) {
 47495  		goto __2028
 47496  	}
 47497  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47498  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47499  	goto __2029
 47500  __2028:
 47501  	if !(fc&0x04 == Tuint32_t(0)) {
 47502  		goto __2030
 47503  	}
 47504  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47505  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47506  	goto __2031
 47507  __2030:
 47508  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47510  __2031:
 47511  	;
 47512  __2029:
 47513  	;
 47514  __2027:
 47515  	;
 47516  __2025:
 47517  	;
 47518  __2023:
 47519  	;
 47520  
 47521  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47522  		goto __2032
 47523  	}
 47524  	rrc = DMATCH_NOMATCH
 47525  	goto RETURN_SWITCH
 47526  __2032:
 47527  	;
 47528  
 47529  	goto __2016
 47530  __2016:
 47531  	goto __2015
 47532  	goto __2017
 47533  __2017:
 47534  	;
 47535  	// Control never gets here
 47536  
 47537  __1797:
 47538  __2033:
 47539  
 47540  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47541  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM224
 47542  	goto MATCH_RECURSE
 47543  L_RM224:
 47544  	;
 47545  
 47546  	if !(rrc != DMATCH_NOMATCH) {
 47547  		goto __2036
 47548  	}
 47549  	rrc = rrc
 47550  	goto RETURN_SWITCH
 47551  __2036:
 47552  	;
 47553  
 47554  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47555  		goto __2037
 47556  	}
 47557  	rrc = DMATCH_NOMATCH
 47558  	goto RETURN_SWITCH
 47559  __2037:
 47560  	;
 47561  
 47562  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47563  		goto __2038
 47564  	}
 47565  
 47566  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47567  		goto __2039
 47568  	}
 47569  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47570  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47571  		goto __2040
 47572  	}
 47573  	return -2
 47574  __2040:
 47575  	;
 47576  __2039:
 47577  	;
 47578  
 47579  	rrc = DMATCH_NOMATCH
 47580  	goto RETURN_SWITCH
 47581  
 47582  __2038:
 47583  	;
 47584  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47585  	if !(utf != 0 && fc >= 0xc0) {
 47586  		goto __2041
 47587  	}
 47588  	if !(fc&0x20 == Tuint32_t(0)) {
 47589  		goto __2042
 47590  	}
 47591  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47592  	goto __2043
 47593  __2042:
 47594  	if !(fc&0x10 == Tuint32_t(0)) {
 47595  		goto __2044
 47596  	}
 47597  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47598  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47599  	goto __2045
 47600  __2044:
 47601  	if !(fc&0x08 == Tuint32_t(0)) {
 47602  		goto __2046
 47603  	}
 47604  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47605  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47606  	goto __2047
 47607  __2046:
 47608  	if !(fc&0x04 == Tuint32_t(0)) {
 47609  		goto __2048
 47610  	}
 47611  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47613  	goto __2049
 47614  __2048:
 47615  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47616  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47617  __2049:
 47618  	;
 47619  __2047:
 47620  	;
 47621  __2045:
 47622  	;
 47623  __2043:
 47624  	;
 47625  __2041:
 47626  	;
 47627  
 47628  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47629  		goto __2050
 47630  	}
 47631  	rrc = DMATCH_NOMATCH
 47632  	goto RETURN_SWITCH
 47633  __2050:
 47634  	;
 47635  
 47636  	goto __2034
 47637  __2034:
 47638  	goto __2033
 47639  	goto __2035
 47640  __2035:
 47641  	;
 47642  	// Control never gets here
 47643  
 47644  __1798:
 47645  __2051:
 47646  
 47647  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47648  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM223
 47649  	goto MATCH_RECURSE
 47650  L_RM223:
 47651  	;
 47652  
 47653  	if !(rrc != DMATCH_NOMATCH) {
 47654  		goto __2054
 47655  	}
 47656  	rrc = rrc
 47657  	goto RETURN_SWITCH
 47658  __2054:
 47659  	;
 47660  
 47661  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47662  		goto __2055
 47663  	}
 47664  	rrc = DMATCH_NOMATCH
 47665  	goto RETURN_SWITCH
 47666  __2055:
 47667  	;
 47668  
 47669  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47670  		goto __2056
 47671  	}
 47672  
 47673  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47674  		goto __2057
 47675  	}
 47676  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47677  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47678  		goto __2058
 47679  	}
 47680  	return -2
 47681  __2058:
 47682  	;
 47683  __2057:
 47684  	;
 47685  
 47686  	rrc = DMATCH_NOMATCH
 47687  	goto RETURN_SWITCH
 47688  
 47689  __2056:
 47690  	;
 47691  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47692  	if !(utf != 0 && fc >= 0xc0) {
 47693  		goto __2059
 47694  	}
 47695  	if !(fc&0x20 == Tuint32_t(0)) {
 47696  		goto __2060
 47697  	}
 47698  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47699  	goto __2061
 47700  __2060:
 47701  	if !(fc&0x10 == Tuint32_t(0)) {
 47702  		goto __2062
 47703  	}
 47704  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47705  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47706  	goto __2063
 47707  __2062:
 47708  	if !(fc&0x08 == Tuint32_t(0)) {
 47709  		goto __2064
 47710  	}
 47711  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47712  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47713  	goto __2065
 47714  __2064:
 47715  	if !(fc&0x04 == Tuint32_t(0)) {
 47716  		goto __2066
 47717  	}
 47718  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47719  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47720  	goto __2067
 47721  __2066:
 47722  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47723  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47724  __2067:
 47725  	;
 47726  __2065:
 47727  	;
 47728  __2063:
 47729  	;
 47730  __2061:
 47731  	;
 47732  __2059:
 47733  	;
 47734  
 47735  	prop4 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 47736  	ok5 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop4)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 47737  	if !(ok5 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47738  		goto __2068
 47739  	}
 47740  	rrc = DMATCH_NOMATCH
 47741  	goto RETURN_SWITCH
 47742  __2068:
 47743  	;
 47744  
 47745  	goto __2052
 47746  __2052:
 47747  	goto __2051
 47748  	goto __2053
 47749  __2053:
 47750  	;
 47751  	// Control never gets here
 47752  
 47753  	// This should never occur
 47754  __1799:
 47755  	return -44
 47756  __1784:
 47757  	;
 47758  	goto __1783
 47759  __1782:
 47760  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 47761  		goto __2069
 47762  	}
 47763  
 47764  __2071:
 47765  
 47766  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47767  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM218
 47768  	goto MATCH_RECURSE
 47769  L_RM218:
 47770  	;
 47771  
 47772  	if !(rrc != DMATCH_NOMATCH) {
 47773  		goto __2074
 47774  	}
 47775  	rrc = rrc
 47776  	goto RETURN_SWITCH
 47777  __2074:
 47778  	;
 47779  
 47780  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47781  		goto __2075
 47782  	}
 47783  	rrc = DMATCH_NOMATCH
 47784  	goto RETURN_SWITCH
 47785  __2075:
 47786  	;
 47787  
 47788  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47789  		goto __2076
 47790  	}
 47791  
 47792  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47793  		goto __2078
 47794  	}
 47795  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47796  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47797  		goto __2079
 47798  	}
 47799  	return -2
 47800  __2079:
 47801  	;
 47802  __2078:
 47803  	;
 47804  
 47805  	rrc = DMATCH_NOMATCH
 47806  	goto RETURN_SWITCH
 47807  
 47808  	goto __2077
 47809  __2076:
 47810  
 47811  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47812  	if !(utf != 0 && fc >= 0xc0) {
 47813  		goto __2080
 47814  	}
 47815  	if !(fc&0x20 == Tuint32_t(0)) {
 47816  		goto __2081
 47817  	}
 47818  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47819  	goto __2082
 47820  __2081:
 47821  	if !(fc&0x10 == Tuint32_t(0)) {
 47822  		goto __2083
 47823  	}
 47824  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47825  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47826  	goto __2084
 47827  __2083:
 47828  	if !(fc&0x08 == Tuint32_t(0)) {
 47829  		goto __2085
 47830  	}
 47831  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47832  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47833  	goto __2086
 47834  __2085:
 47835  	if !(fc&0x04 == Tuint32_t(0)) {
 47836  		goto __2087
 47837  	}
 47838  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47839  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47840  	goto __2088
 47841  __2087:
 47842  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47843  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47844  __2088:
 47845  	;
 47846  __2086:
 47847  	;
 47848  __2084:
 47849  	;
 47850  __2082:
 47851  	;
 47852  __2080:
 47853  	;
 47854  
 47855  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject,
 47856  		utf, uintptr(0))
 47857  __2077:
 47858  	;
 47859  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47860  		goto __2089
 47861  	}
 47862  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47863  		goto __2090
 47864  	}
 47865  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47866  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47867  		goto __2091
 47868  	}
 47869  	return -2
 47870  __2091:
 47871  	;
 47872  __2090:
 47873  	;
 47874  __2089:
 47875  	;
 47876  
 47877  	goto __2072
 47878  __2072:
 47879  	goto __2071
 47880  	goto __2073
 47881  __2073:
 47882  	;
 47883  	goto __2070
 47884  __2069:
 47885  
 47886  	// UTF mode for non-property testing character types.
 47887  
 47888  	if !(utf != 0) {
 47889  		goto __2092
 47890  	}
 47891  
 47892  __2094:
 47893  
 47894  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47895  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM219
 47896  	goto MATCH_RECURSE
 47897  L_RM219:
 47898  	;
 47899  
 47900  	if !(rrc != DMATCH_NOMATCH) {
 47901  		goto __2097
 47902  	}
 47903  	rrc = rrc
 47904  	goto RETURN_SWITCH
 47905  __2097:
 47906  	;
 47907  
 47908  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47909  		goto __2098
 47910  	}
 47911  	rrc = DMATCH_NOMATCH
 47912  	goto RETURN_SWITCH
 47913  __2098:
 47914  	;
 47915  
 47916  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47917  		goto __2099
 47918  	}
 47919  
 47920  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47921  		goto __2100
 47922  	}
 47923  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47924  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47925  		goto __2101
 47926  	}
 47927  	return -2
 47928  __2101:
 47929  	;
 47930  __2100:
 47931  	;
 47932  
 47933  	rrc = DMATCH_NOMATCH
 47934  	goto RETURN_SWITCH
 47935  
 47936  __2099:
 47937  	;
 47938  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 {
 47939  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 47940  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 47941  		}
 47942  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 47943  	}() != 0) {
 47944  		goto __2102
 47945  	}
 47946  	rrc = DMATCH_NOMATCH
 47947  	goto RETURN_SWITCH
 47948  __2102:
 47949  	;
 47950  
 47951  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47952  	if !(fc >= 0xc0) {
 47953  		goto __2103
 47954  	}
 47955  	if !(fc&0x20 == Tuint32_t(0)) {
 47956  		goto __2104
 47957  	}
 47958  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47959  	goto __2105
 47960  __2104:
 47961  	if !(fc&0x10 == Tuint32_t(0)) {
 47962  		goto __2106
 47963  	}
 47964  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47965  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47966  	goto __2107
 47967  __2106:
 47968  	if !(fc&0x08 == Tuint32_t(0)) {
 47969  		goto __2108
 47970  	}
 47971  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47972  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47973  	goto __2109
 47974  __2108:
 47975  	if !(fc&0x04 == Tuint32_t(0)) {
 47976  		goto __2110
 47977  	}
 47978  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47979  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47980  	goto __2111
 47981  __2110:
 47982  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47983  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47984  __2111:
 47985  	;
 47986  __2109:
 47987  	;
 47988  __2107:
 47989  	;
 47990  __2105:
 47991  	;
 47992  __2103:
 47993  	;
 47994  
 47995  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 47996  	case OP_ANY:
 47997  		goto __2113
 47998  
 47999  	case OP_ALLANY:
 48000  		goto __2114
 48001  	case OP_ANYBYTE:
 48002  		goto __2115
 48003  
 48004  	case OP_ANYNL:
 48005  		goto __2116
 48006  
 48007  	case OP_NOT_HSPACE:
 48008  		goto __2117
 48009  
 48010  	case OP_HSPACE:
 48011  		goto __2118
 48012  
 48013  	case OP_NOT_VSPACE:
 48014  		goto __2119
 48015  
 48016  	case OP_VSPACE:
 48017  		goto __2120
 48018  
 48019  	case OP_NOT_DIGIT:
 48020  		goto __2121
 48021  
 48022  	case OP_DIGIT:
 48023  		goto __2122
 48024  
 48025  	case OP_NOT_WHITESPACE:
 48026  		goto __2123
 48027  
 48028  	case OP_WHITESPACE:
 48029  		goto __2124
 48030  
 48031  	case OP_NOT_WORDCHAR:
 48032  		goto __2125
 48033  
 48034  	case OP_WORDCHAR:
 48035  		goto __2126
 48036  
 48037  	default:
 48038  		goto __2127
 48039  	}
 48040  	goto __2112
 48041  
 48042  __2113: // This is the non-NL case
 48043  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 48044  		goto __2128
 48045  	}
 48046  
 48047  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48048  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48049  		goto __2129
 48050  	}
 48051  	return -2
 48052  __2129:
 48053  	;
 48054  __2128:
 48055  	;
 48056  	goto __2112
 48057  
 48058  __2114:
 48059  __2115:
 48060  	goto __2112
 48061  
 48062  __2116:
 48063  	switch fc {
 48064  	default:
 48065  		goto __2131
 48066  
 48067  	case Tuint32_t('\015'):
 48068  		goto __2132
 48069  
 48070  	case Tuint32_t('\012'):
 48071  		goto __2133
 48072  
 48073  	case Tuint32_t('\013'):
 48074  		goto __2134
 48075  	case Tuint32_t('\014'):
 48076  		goto __2135
 48077  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48078  		goto __2136
 48079  	case Tuint32_t(0x2028):
 48080  		goto __2137
 48081  	case Tuint32_t(0x2029):
 48082  		goto __2138
 48083  	}
 48084  	goto __2130
 48085  
 48086  __2131:
 48087  	rrc = DMATCH_NOMATCH
 48088  	goto RETURN_SWITCH
 48089  
 48090  __2132:
 48091  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 48092  		goto __2139
 48093  	}
 48094  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48095  __2139:
 48096  	;
 48097  	goto __2130
 48098  
 48099  __2133:
 48100  	goto __2130
 48101  
 48102  __2134:
 48103  __2135:
 48104  __2136:
 48105  __2137:
 48106  __2138:
 48107  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48108  		goto __2140
 48109  	}
 48110  	rrc = DMATCH_NOMATCH
 48111  	goto RETURN_SWITCH
 48112  __2140:
 48113  	;
 48114  
 48115  	goto __2130
 48116  __2130:
 48117  	;
 48118  	goto __2112
 48119  
 48120  __2117:
 48121  	switch fc {
 48122  	case Tuint32_t('\011'):
 48123  		goto __2142
 48124  	case Tuint32_t('\040'):
 48125  		goto __2143
 48126  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48127  		goto __2144
 48128  	case Tuint32_t(0x1680):
 48129  		goto __2145 /* OGHAM SPACE MARK */
 48130  	case Tuint32_t(0x180e):
 48131  		goto __2146 /* MONGOLIAN VOWEL SEPARATOR */
 48132  	case Tuint32_t(0x2000):
 48133  		goto __2147 /* EN QUAD */
 48134  	case Tuint32_t(0x2001):
 48135  		goto __2148 /* EM QUAD */
 48136  	case Tuint32_t(0x2002):
 48137  		goto __2149 /* EN SPACE */
 48138  	case Tuint32_t(0x2003):
 48139  		goto __2150 /* EM SPACE */
 48140  	case Tuint32_t(0x2004):
 48141  		goto __2151 /* THREE-PER-EM SPACE */
 48142  	case Tuint32_t(0x2005):
 48143  		goto __2152 /* FOUR-PER-EM SPACE */
 48144  	case Tuint32_t(0x2006):
 48145  		goto __2153 /* SIX-PER-EM SPACE */
 48146  	case Tuint32_t(0x2007):
 48147  		goto __2154 /* FIGURE SPACE */
 48148  	case Tuint32_t(0x2008):
 48149  		goto __2155 /* PUNCTUATION SPACE */
 48150  	case Tuint32_t(0x2009):
 48151  		goto __2156 /* THIN SPACE */
 48152  	case Tuint32_t(0x200A):
 48153  		goto __2157 /* HAIR SPACE */
 48154  	case Tuint32_t(0x202f):
 48155  		goto __2158 /* NARROW NO-BREAK SPACE */
 48156  	case Tuint32_t(0x205f):
 48157  		goto __2159 /* MEDIUM MATHEMATICAL SPACE */
 48158  	case Tuint32_t(0x3000):
 48159  		goto __2160
 48160  	default:
 48161  		goto __2161
 48162  	}
 48163  	goto __2141
 48164  
 48165  __2142:
 48166  __2143:
 48167  __2144:
 48168  __2145: /* OGHAM SPACE MARK */
 48169  __2146: /* MONGOLIAN VOWEL SEPARATOR */
 48170  __2147: /* EN QUAD */
 48171  __2148: /* EM QUAD */
 48172  __2149: /* EN SPACE */
 48173  __2150: /* EM SPACE */
 48174  __2151: /* THREE-PER-EM SPACE */
 48175  __2152: /* FOUR-PER-EM SPACE */
 48176  __2153: /* SIX-PER-EM SPACE */
 48177  __2154: /* FIGURE SPACE */
 48178  __2155: /* PUNCTUATION SPACE */
 48179  __2156: /* THIN SPACE */
 48180  __2157: /* HAIR SPACE */
 48181  __2158: /* NARROW NO-BREAK SPACE */
 48182  __2159: /* MEDIUM MATHEMATICAL SPACE */
 48183  __2160:
 48184  	rrc = DMATCH_NOMATCH
 48185  	goto RETURN_SWITCH
 48186  
 48187  __2161:
 48188  	goto __2141
 48189  __2141:
 48190  	;
 48191  	goto __2112
 48192  
 48193  __2118:
 48194  	switch fc {
 48195  	case Tuint32_t('\011'):
 48196  		goto __2163
 48197  	case Tuint32_t('\040'):
 48198  		goto __2164
 48199  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48200  		goto __2165
 48201  	case Tuint32_t(0x1680):
 48202  		goto __2166 /* OGHAM SPACE MARK */
 48203  	case Tuint32_t(0x180e):
 48204  		goto __2167 /* MONGOLIAN VOWEL SEPARATOR */
 48205  	case Tuint32_t(0x2000):
 48206  		goto __2168 /* EN QUAD */
 48207  	case Tuint32_t(0x2001):
 48208  		goto __2169 /* EM QUAD */
 48209  	case Tuint32_t(0x2002):
 48210  		goto __2170 /* EN SPACE */
 48211  	case Tuint32_t(0x2003):
 48212  		goto __2171 /* EM SPACE */
 48213  	case Tuint32_t(0x2004):
 48214  		goto __2172 /* THREE-PER-EM SPACE */
 48215  	case Tuint32_t(0x2005):
 48216  		goto __2173 /* FOUR-PER-EM SPACE */
 48217  	case Tuint32_t(0x2006):
 48218  		goto __2174 /* SIX-PER-EM SPACE */
 48219  	case Tuint32_t(0x2007):
 48220  		goto __2175 /* FIGURE SPACE */
 48221  	case Tuint32_t(0x2008):
 48222  		goto __2176 /* PUNCTUATION SPACE */
 48223  	case Tuint32_t(0x2009):
 48224  		goto __2177 /* THIN SPACE */
 48225  	case Tuint32_t(0x200A):
 48226  		goto __2178 /* HAIR SPACE */
 48227  	case Tuint32_t(0x202f):
 48228  		goto __2179 /* NARROW NO-BREAK SPACE */
 48229  	case Tuint32_t(0x205f):
 48230  		goto __2180 /* MEDIUM MATHEMATICAL SPACE */
 48231  	case Tuint32_t(0x3000):
 48232  		goto __2181
 48233  	default:
 48234  		goto __2182
 48235  	}
 48236  	goto __2162
 48237  
 48238  __2163:
 48239  __2164:
 48240  __2165:
 48241  __2166: /* OGHAM SPACE MARK */
 48242  __2167: /* MONGOLIAN VOWEL SEPARATOR */
 48243  __2168: /* EN QUAD */
 48244  __2169: /* EM QUAD */
 48245  __2170: /* EN SPACE */
 48246  __2171: /* EM SPACE */
 48247  __2172: /* THREE-PER-EM SPACE */
 48248  __2173: /* FOUR-PER-EM SPACE */
 48249  __2174: /* SIX-PER-EM SPACE */
 48250  __2175: /* FIGURE SPACE */
 48251  __2176: /* PUNCTUATION SPACE */
 48252  __2177: /* THIN SPACE */
 48253  __2178: /* HAIR SPACE */
 48254  __2179: /* NARROW NO-BREAK SPACE */
 48255  __2180: /* MEDIUM MATHEMATICAL SPACE */
 48256  __2181:
 48257  	goto __2162
 48258  __2182:
 48259  	rrc = DMATCH_NOMATCH
 48260  	goto RETURN_SWITCH
 48261  
 48262  __2162:
 48263  	;
 48264  	goto __2112
 48265  
 48266  __2119:
 48267  	switch fc {
 48268  	case Tuint32_t('\012'):
 48269  		goto __2184
 48270  	case Tuint32_t('\013'):
 48271  		goto __2185
 48272  	case Tuint32_t('\014'):
 48273  		goto __2186
 48274  	case Tuint32_t('\015'):
 48275  		goto __2187
 48276  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48277  		goto __2188
 48278  	case Tuint32_t(0x2028):
 48279  		goto __2189 /* LINE SEPARATOR */
 48280  	case Tuint32_t(0x2029):
 48281  		goto __2190
 48282  	default:
 48283  		goto __2191
 48284  	}
 48285  	goto __2183
 48286  
 48287  __2184:
 48288  __2185:
 48289  __2186:
 48290  __2187:
 48291  __2188:
 48292  __2189: /* LINE SEPARATOR */
 48293  __2190:
 48294  	rrc = DMATCH_NOMATCH
 48295  	goto RETURN_SWITCH
 48296  
 48297  __2191:
 48298  	goto __2183
 48299  __2183:
 48300  	;
 48301  	goto __2112
 48302  
 48303  __2120:
 48304  	switch fc {
 48305  	case Tuint32_t('\012'):
 48306  		goto __2193
 48307  	case Tuint32_t('\013'):
 48308  		goto __2194
 48309  	case Tuint32_t('\014'):
 48310  		goto __2195
 48311  	case Tuint32_t('\015'):
 48312  		goto __2196
 48313  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48314  		goto __2197
 48315  	case Tuint32_t(0x2028):
 48316  		goto __2198 /* LINE SEPARATOR */
 48317  	case Tuint32_t(0x2029):
 48318  		goto __2199
 48319  	default:
 48320  		goto __2200
 48321  	}
 48322  	goto __2192
 48323  
 48324  __2193:
 48325  __2194:
 48326  __2195:
 48327  __2196:
 48328  __2197:
 48329  __2198: /* LINE SEPARATOR */
 48330  __2199:
 48331  	goto __2192
 48332  __2200:
 48333  	rrc = DMATCH_NOMATCH
 48334  	goto RETURN_SWITCH
 48335  
 48336  __2192:
 48337  	;
 48338  	goto __2112
 48339  
 48340  __2121:
 48341  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48342  		goto __2201
 48343  	}
 48344  	rrc = DMATCH_NOMATCH
 48345  	goto RETURN_SWITCH
 48346  __2201:
 48347  	;
 48348  
 48349  	goto __2112
 48350  
 48351  __2122:
 48352  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48353  		goto __2202
 48354  	}
 48355  	rrc = DMATCH_NOMATCH
 48356  	goto RETURN_SWITCH
 48357  __2202:
 48358  	;
 48359  
 48360  	goto __2112
 48361  
 48362  __2123:
 48363  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48364  		goto __2203
 48365  	}
 48366  	rrc = DMATCH_NOMATCH
 48367  	goto RETURN_SWITCH
 48368  __2203:
 48369  	;
 48370  
 48371  	goto __2112
 48372  
 48373  __2124:
 48374  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48375  		goto __2204
 48376  	}
 48377  	rrc = DMATCH_NOMATCH
 48378  	goto RETURN_SWITCH
 48379  __2204:
 48380  	;
 48381  
 48382  	goto __2112
 48383  
 48384  __2125:
 48385  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48386  		goto __2205
 48387  	}
 48388  	rrc = DMATCH_NOMATCH
 48389  	goto RETURN_SWITCH
 48390  __2205:
 48391  	;
 48392  
 48393  	goto __2112
 48394  
 48395  __2126:
 48396  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48397  		goto __2206
 48398  	}
 48399  	rrc = DMATCH_NOMATCH
 48400  	goto RETURN_SWITCH
 48401  __2206:
 48402  	;
 48403  
 48404  	goto __2112
 48405  
 48406  __2127:
 48407  	return -44
 48408  __2112:
 48409  	;
 48410  	goto __2095
 48411  __2095:
 48412  	goto __2094
 48413  	goto __2096
 48414  __2096:
 48415  	;
 48416  	goto __2093
 48417  __2092:
 48418  
 48419  	/* Not UTF mode */
 48420  
 48421  __2207:
 48422  
 48423  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 48424  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM33
 48425  	goto MATCH_RECURSE
 48426  L_RM33:
 48427  	;
 48428  
 48429  	if !(rrc != DMATCH_NOMATCH) {
 48430  		goto __2210
 48431  	}
 48432  	rrc = rrc
 48433  	goto RETURN_SWITCH
 48434  __2210:
 48435  	;
 48436  
 48437  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48438  		goto __2211
 48439  	}
 48440  	rrc = DMATCH_NOMATCH
 48441  	goto RETURN_SWITCH
 48442  __2211:
 48443  	;
 48444  
 48445  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48446  		goto __2212
 48447  	}
 48448  
 48449  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48450  		goto __2213
 48451  	}
 48452  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48453  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48454  		goto __2214
 48455  	}
 48456  	return -2
 48457  __2214:
 48458  	;
 48459  __2213:
 48460  	;
 48461  
 48462  	rrc = DMATCH_NOMATCH
 48463  	goto RETURN_SWITCH
 48464  
 48465  __2212:
 48466  	;
 48467  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 {
 48468  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 48469  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 48470  		}
 48471  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 48472  	}() != 0) {
 48473  		goto __2215
 48474  	}
 48475  	rrc = DMATCH_NOMATCH
 48476  	goto RETURN_SWITCH
 48477  __2215:
 48478  	;
 48479  
 48480  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 48481  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 48482  	case OP_ANY:
 48483  		goto __2217
 48484  
 48485  	case OP_ALLANY:
 48486  		goto __2218
 48487  	case OP_ANYBYTE:
 48488  		goto __2219
 48489  
 48490  	case OP_ANYNL:
 48491  		goto __2220
 48492  
 48493  	case OP_NOT_HSPACE:
 48494  		goto __2221
 48495  
 48496  	case OP_HSPACE:
 48497  		goto __2222
 48498  
 48499  	case OP_NOT_VSPACE:
 48500  		goto __2223
 48501  
 48502  	case OP_VSPACE:
 48503  		goto __2224
 48504  
 48505  	case OP_NOT_DIGIT:
 48506  		goto __2225
 48507  
 48508  	case OP_DIGIT:
 48509  		goto __2226
 48510  
 48511  	case OP_NOT_WHITESPACE:
 48512  		goto __2227
 48513  
 48514  	case OP_WHITESPACE:
 48515  		goto __2228
 48516  
 48517  	case OP_NOT_WORDCHAR:
 48518  		goto __2229
 48519  
 48520  	case OP_WORDCHAR:
 48521  		goto __2230
 48522  
 48523  	default:
 48524  		goto __2231
 48525  	}
 48526  	goto __2216
 48527  
 48528  __2217: // This is the non-NL case
 48529  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 48530  		goto __2232
 48531  	}
 48532  
 48533  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48534  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48535  		goto __2233
 48536  	}
 48537  	return -2
 48538  __2233:
 48539  	;
 48540  __2232:
 48541  	;
 48542  	goto __2216
 48543  
 48544  __2218:
 48545  __2219:
 48546  	goto __2216
 48547  
 48548  __2220:
 48549  	switch fc {
 48550  	default:
 48551  		goto __2235
 48552  
 48553  	case Tuint32_t('\015'):
 48554  		goto __2236
 48555  
 48556  	case Tuint32_t('\012'):
 48557  		goto __2237
 48558  
 48559  	case Tuint32_t('\013'):
 48560  		goto __2238
 48561  	case Tuint32_t('\014'):
 48562  		goto __2239
 48563  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48564  		goto __2240
 48565  	}
 48566  	goto __2234
 48567  
 48568  __2235:
 48569  	rrc = DMATCH_NOMATCH
 48570  	goto RETURN_SWITCH
 48571  
 48572  __2236:
 48573  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 48574  		goto __2241
 48575  	}
 48576  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48577  __2241:
 48578  	;
 48579  	goto __2234
 48580  
 48581  __2237:
 48582  	goto __2234
 48583  
 48584  __2238:
 48585  __2239:
 48586  __2240:
 48587  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48588  		goto __2242
 48589  	}
 48590  	rrc = DMATCH_NOMATCH
 48591  	goto RETURN_SWITCH
 48592  __2242:
 48593  	;
 48594  
 48595  	goto __2234
 48596  __2234:
 48597  	;
 48598  	goto __2216
 48599  
 48600  __2221:
 48601  	switch fc {
 48602  	default:
 48603  		goto __2244
 48604  	case Tuint32_t('\011'):
 48605  		goto __2245
 48606  	case Tuint32_t('\040'):
 48607  		goto __2246
 48608  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48609  		goto __2247
 48610  	}
 48611  	goto __2243
 48612  
 48613  __2244:
 48614  	goto __2243
 48615  __2245:
 48616  __2246:
 48617  __2247:
 48618  	rrc = DMATCH_NOMATCH
 48619  	goto RETURN_SWITCH
 48620  
 48621  __2243:
 48622  	;
 48623  	goto __2216
 48624  
 48625  __2222:
 48626  	switch fc {
 48627  	default:
 48628  		goto __2249
 48629  	case Tuint32_t('\011'):
 48630  		goto __2250
 48631  	case Tuint32_t('\040'):
 48632  		goto __2251
 48633  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 48634  		goto __2252
 48635  	}
 48636  	goto __2248
 48637  
 48638  __2249:
 48639  	rrc = DMATCH_NOMATCH
 48640  	goto RETURN_SWITCH
 48641  
 48642  __2250:
 48643  __2251:
 48644  __2252:
 48645  	goto __2248
 48646  __2248:
 48647  	;
 48648  	goto __2216
 48649  
 48650  __2223:
 48651  	switch fc {
 48652  	default:
 48653  		goto __2254
 48654  	case Tuint32_t('\012'):
 48655  		goto __2255
 48656  	case Tuint32_t('\013'):
 48657  		goto __2256
 48658  	case Tuint32_t('\014'):
 48659  		goto __2257
 48660  	case Tuint32_t('\015'):
 48661  		goto __2258
 48662  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48663  		goto __2259
 48664  	}
 48665  	goto __2253
 48666  
 48667  __2254:
 48668  	goto __2253
 48669  __2255:
 48670  __2256:
 48671  __2257:
 48672  __2258:
 48673  __2259:
 48674  	rrc = DMATCH_NOMATCH
 48675  	goto RETURN_SWITCH
 48676  
 48677  __2253:
 48678  	;
 48679  	goto __2216
 48680  
 48681  __2224:
 48682  	switch fc {
 48683  	default:
 48684  		goto __2261
 48685  	case Tuint32_t('\012'):
 48686  		goto __2262
 48687  	case Tuint32_t('\013'):
 48688  		goto __2263
 48689  	case Tuint32_t('\014'):
 48690  		goto __2264
 48691  	case Tuint32_t('\015'):
 48692  		goto __2265
 48693  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 48694  		goto __2266
 48695  	}
 48696  	goto __2260
 48697  
 48698  __2261:
 48699  	rrc = DMATCH_NOMATCH
 48700  	goto RETURN_SWITCH
 48701  
 48702  __2262:
 48703  __2263:
 48704  __2264:
 48705  __2265:
 48706  __2266:
 48707  	goto __2260
 48708  __2260:
 48709  	;
 48710  	goto __2216
 48711  
 48712  __2225:
 48713  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48714  		goto __2267
 48715  	}
 48716  	rrc = DMATCH_NOMATCH
 48717  	goto RETURN_SWITCH
 48718  __2267:
 48719  	;
 48720  
 48721  	goto __2216
 48722  
 48723  __2226:
 48724  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48725  		goto __2268
 48726  	}
 48727  	rrc = DMATCH_NOMATCH
 48728  	goto RETURN_SWITCH
 48729  __2268:
 48730  	;
 48731  
 48732  	goto __2216
 48733  
 48734  __2227:
 48735  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48736  		goto __2269
 48737  	}
 48738  	rrc = DMATCH_NOMATCH
 48739  	goto RETURN_SWITCH
 48740  __2269:
 48741  	;
 48742  
 48743  	goto __2216
 48744  
 48745  __2228:
 48746  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48747  		goto __2270
 48748  	}
 48749  	rrc = DMATCH_NOMATCH
 48750  	goto RETURN_SWITCH
 48751  __2270:
 48752  	;
 48753  
 48754  	goto __2216
 48755  
 48756  __2229:
 48757  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48758  		goto __2271
 48759  	}
 48760  	rrc = DMATCH_NOMATCH
 48761  	goto RETURN_SWITCH
 48762  __2271:
 48763  	;
 48764  
 48765  	goto __2216
 48766  
 48767  __2230:
 48768  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48769  		goto __2272
 48770  	}
 48771  	rrc = DMATCH_NOMATCH
 48772  	goto RETURN_SWITCH
 48773  __2272:
 48774  	;
 48775  
 48776  	goto __2216
 48777  
 48778  __2231:
 48779  	return -44
 48780  __2216:
 48781  	;
 48782  	goto __2208
 48783  __2208:
 48784  	goto __2207
 48785  	goto __2209
 48786  __2209:
 48787  	;
 48788  __2093:
 48789  	;
 48790  __2070:
 48791  	;
 48792  __1783:
 48793  	;
 48794  	// Control never gets here
 48795  	goto __1781
 48796  __1780:
 48797  
 48798  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Remember where we started
 48799  
 48800  	if !(proptype >= 0) {
 48801  		goto __2273
 48802  	}
 48803  	notmatch2 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)
 48804  	switch proptype {
 48805  	case DPT_ANY:
 48806  		goto __2276
 48807  
 48808  	case DPT_LAMP:
 48809  		goto __2277
 48810  
 48811  	case DPT_GC:
 48812  		goto __2278
 48813  
 48814  	case DPT_PC:
 48815  		goto __2279
 48816  
 48817  	case DPT_SC:
 48818  		goto __2280
 48819  
 48820  	case DPT_SCX:
 48821  		goto __2281
 48822  
 48823  	case DPT_ALNUM:
 48824  		goto __2282
 48825  
 48826  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 48827  	//           which means that Perl space and POSIX space are now identical. PCRE
 48828  	//           was changed at release 8.34.
 48829  
 48830  	case DPT_SPACE:
 48831  		goto __2283 // Perl space
 48832  	case DPT_PXSPACE:
 48833  		goto __2284
 48834  
 48835  	case DPT_WORD:
 48836  		goto __2285
 48837  
 48838  	case DPT_CLIST:
 48839  		goto __2286
 48840  
 48841  	case DPT_UCNC:
 48842  		goto __2287
 48843  
 48844  	case DPT_BIDICL:
 48845  		goto __2288
 48846  
 48847  	case DPT_BOOL:
 48848  		goto __2289
 48849  
 48850  	default:
 48851  		goto __2290
 48852  	}
 48853  	goto __2275
 48854  
 48855  __2276:
 48856  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 48857  __2291:
 48858  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48859  		goto __2293
 48860  	}
 48861  
 48862  	len4 = 1
 48863  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48864  		goto __2294
 48865  	}
 48866  
 48867  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48868  		goto __2295
 48869  	}
 48870  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48871  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48872  		goto __2296
 48873  	}
 48874  	return -2
 48875  __2296:
 48876  	;
 48877  __2295:
 48878  	;
 48879  
 48880  	goto __2293
 48881  __2294:
 48882  	;
 48883  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48884  	if !(utf != 0 && fc >= 0xc0) {
 48885  		goto __2297
 48886  	}
 48887  	if !(fc&0x20 == Tuint32_t(0)) {
 48888  		goto __2298
 48889  	}
 48890  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48891  	len4++
 48892  	goto __2299
 48893  __2298:
 48894  	if !(fc&0x10 == Tuint32_t(0)) {
 48895  		goto __2300
 48896  	}
 48897  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 48898  	len4 = len4 + 2
 48899  	goto __2301
 48900  __2300:
 48901  	if !(fc&0x08 == Tuint32_t(0)) {
 48902  		goto __2302
 48903  	}
 48904  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 48905  	len4 = len4 + 3
 48906  	goto __2303
 48907  __2302:
 48908  	if !(fc&0x04 == Tuint32_t(0)) {
 48909  		goto __2304
 48910  	}
 48911  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 48912  	len4 = len4 + 4
 48913  	goto __2305
 48914  __2304:
 48915  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 48916  	len4 = len4 + 5
 48917  __2305:
 48918  	;
 48919  __2303:
 48920  	;
 48921  __2301:
 48922  	;
 48923  __2299:
 48924  	;
 48925  __2297:
 48926  	;
 48927  
 48928  	if !(notmatch2 != 0) {
 48929  		goto __2306
 48930  	}
 48931  	goto __2293
 48932  __2306:
 48933  	;
 48934  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len4)
 48935  	goto __2292
 48936  __2292:
 48937  	i++
 48938  	goto __2291
 48939  	goto __2293
 48940  __2293:
 48941  	;
 48942  	goto __2275
 48943  
 48944  __2277:
 48945  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 48946  __2307:
 48947  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48948  		goto __2309
 48949  	}
 48950  
 48951  	len5 = 1
 48952  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48953  		goto __2310
 48954  	}
 48955  
 48956  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48957  		goto __2311
 48958  	}
 48959  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48960  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48961  		goto __2312
 48962  	}
 48963  	return -2
 48964  __2312:
 48965  	;
 48966  __2311:
 48967  	;
 48968  
 48969  	goto __2309
 48970  __2310:
 48971  	;
 48972  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48973  	if !(utf != 0 && fc >= 0xc0) {
 48974  		goto __2313
 48975  	}
 48976  	if !(fc&0x20 == Tuint32_t(0)) {
 48977  		goto __2314
 48978  	}
 48979  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48980  	len5++
 48981  	goto __2315
 48982  __2314:
 48983  	if !(fc&0x10 == Tuint32_t(0)) {
 48984  		goto __2316
 48985  	}
 48986  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 48987  	len5 = len5 + 2
 48988  	goto __2317
 48989  __2316:
 48990  	if !(fc&0x08 == Tuint32_t(0)) {
 48991  		goto __2318
 48992  	}
 48993  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 48994  	len5 = len5 + 3
 48995  	goto __2319
 48996  __2318:
 48997  	if !(fc&0x04 == Tuint32_t(0)) {
 48998  		goto __2320
 48999  	}
 49000  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49001  	len5 = len5 + 4
 49002  	goto __2321
 49003  __2320:
 49004  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49005  	len5 = len5 + 5
 49006  __2321:
 49007  	;
 49008  __2319:
 49009  	;
 49010  __2317:
 49011  	;
 49012  __2315:
 49013  	;
 49014  __2313:
 49015  	;
 49016  
 49017  	chartype2 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 49018  	if !(libc.Bool32(chartype2 == ucp_Lu || chartype2 == ucp_Ll || chartype2 == ucp_Lt) == notmatch2) {
 49019  		goto __2322
 49020  	}
 49021  	goto __2309
 49022  __2322:
 49023  	;
 49024  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len5)
 49025  	goto __2308
 49026  __2308:
 49027  	i++
 49028  	goto __2307
 49029  	goto __2309
 49030  __2309:
 49031  	;
 49032  	goto __2275
 49033  
 49034  __2278:
 49035  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49036  __2323:
 49037  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49038  		goto __2325
 49039  	}
 49040  
 49041  	len6 = 1
 49042  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49043  		goto __2326
 49044  	}
 49045  
 49046  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49047  		goto __2327
 49048  	}
 49049  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49050  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49051  		goto __2328
 49052  	}
 49053  	return -2
 49054  __2328:
 49055  	;
 49056  __2327:
 49057  	;
 49058  
 49059  	goto __2325
 49060  __2326:
 49061  	;
 49062  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49063  	if !(utf != 0 && fc >= 0xc0) {
 49064  		goto __2329
 49065  	}
 49066  	if !(fc&0x20 == Tuint32_t(0)) {
 49067  		goto __2330
 49068  	}
 49069  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49070  	len6++
 49071  	goto __2331
 49072  __2330:
 49073  	if !(fc&0x10 == Tuint32_t(0)) {
 49074  		goto __2332
 49075  	}
 49076  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49077  	len6 = len6 + 2
 49078  	goto __2333
 49079  __2332:
 49080  	if !(fc&0x08 == Tuint32_t(0)) {
 49081  		goto __2334
 49082  	}
 49083  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49084  	len6 = len6 + 3
 49085  	goto __2335
 49086  __2334:
 49087  	if !(fc&0x04 == Tuint32_t(0)) {
 49088  		goto __2336
 49089  	}
 49090  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49091  	len6 = len6 + 4
 49092  	goto __2337
 49093  __2336:
 49094  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49095  	len6 = len6 + 5
 49096  __2337:
 49097  	;
 49098  __2335:
 49099  	;
 49100  __2333:
 49101  	;
 49102  __2331:
 49103  	;
 49104  __2329:
 49105  	;
 49106  
 49107  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49108  		goto __2338
 49109  	}
 49110  	goto __2325
 49111  __2338:
 49112  	;
 49113  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len6)
 49114  	goto __2324
 49115  __2324:
 49116  	i++
 49117  	goto __2323
 49118  	goto __2325
 49119  __2325:
 49120  	;
 49121  	goto __2275
 49122  
 49123  __2279:
 49124  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49125  __2339:
 49126  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49127  		goto __2341
 49128  	}
 49129  
 49130  	len7 = 1
 49131  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49132  		goto __2342
 49133  	}
 49134  
 49135  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49136  		goto __2343
 49137  	}
 49138  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49139  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49140  		goto __2344
 49141  	}
 49142  	return -2
 49143  __2344:
 49144  	;
 49145  __2343:
 49146  	;
 49147  
 49148  	goto __2341
 49149  __2342:
 49150  	;
 49151  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49152  	if !(utf != 0 && fc >= 0xc0) {
 49153  		goto __2345
 49154  	}
 49155  	if !(fc&0x20 == Tuint32_t(0)) {
 49156  		goto __2346
 49157  	}
 49158  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49159  	len7++
 49160  	goto __2347
 49161  __2346:
 49162  	if !(fc&0x10 == Tuint32_t(0)) {
 49163  		goto __2348
 49164  	}
 49165  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49166  	len7 = len7 + 2
 49167  	goto __2349
 49168  __2348:
 49169  	if !(fc&0x08 == Tuint32_t(0)) {
 49170  		goto __2350
 49171  	}
 49172  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49173  	len7 = len7 + 3
 49174  	goto __2351
 49175  __2350:
 49176  	if !(fc&0x04 == Tuint32_t(0)) {
 49177  		goto __2352
 49178  	}
 49179  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49180  	len7 = len7 + 4
 49181  	goto __2353
 49182  __2352:
 49183  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49184  	len7 = len7 + 5
 49185  __2353:
 49186  	;
 49187  __2351:
 49188  	;
 49189  __2349:
 49190  	;
 49191  __2347:
 49192  	;
 49193  __2345:
 49194  	;
 49195  
 49196  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49197  		goto __2354
 49198  	}
 49199  	goto __2341
 49200  __2354:
 49201  	;
 49202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len7)
 49203  	goto __2340
 49204  __2340:
 49205  	i++
 49206  	goto __2339
 49207  	goto __2341
 49208  __2341:
 49209  	;
 49210  	goto __2275
 49211  
 49212  __2280:
 49213  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49214  __2355:
 49215  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49216  		goto __2357
 49217  	}
 49218  
 49219  	len8 = 1
 49220  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49221  		goto __2358
 49222  	}
 49223  
 49224  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49225  		goto __2359
 49226  	}
 49227  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49228  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49229  		goto __2360
 49230  	}
 49231  	return -2
 49232  __2360:
 49233  	;
 49234  __2359:
 49235  	;
 49236  
 49237  	goto __2357
 49238  __2358:
 49239  	;
 49240  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49241  	if !(utf != 0 && fc >= 0xc0) {
 49242  		goto __2361
 49243  	}
 49244  	if !(fc&0x20 == Tuint32_t(0)) {
 49245  		goto __2362
 49246  	}
 49247  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49248  	len8++
 49249  	goto __2363
 49250  __2362:
 49251  	if !(fc&0x10 == Tuint32_t(0)) {
 49252  		goto __2364
 49253  	}
 49254  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49255  	len8 = len8 + 2
 49256  	goto __2365
 49257  __2364:
 49258  	if !(fc&0x08 == Tuint32_t(0)) {
 49259  		goto __2366
 49260  	}
 49261  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49262  	len8 = len8 + 3
 49263  	goto __2367
 49264  __2366:
 49265  	if !(fc&0x04 == Tuint32_t(0)) {
 49266  		goto __2368
 49267  	}
 49268  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49269  	len8 = len8 + 4
 49270  	goto __2369
 49271  __2368:
 49272  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49273  	len8 = len8 + 5
 49274  __2369:
 49275  	;
 49276  __2367:
 49277  	;
 49278  __2365:
 49279  	;
 49280  __2363:
 49281  	;
 49282  __2361:
 49283  	;
 49284  
 49285  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49286  		goto __2370
 49287  	}
 49288  	goto __2357
 49289  __2370:
 49290  	;
 49291  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len8)
 49292  	goto __2356
 49293  __2356:
 49294  	i++
 49295  	goto __2355
 49296  	goto __2357
 49297  __2357:
 49298  	;
 49299  	goto __2275
 49300  
 49301  __2281:
 49302  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49303  __2371:
 49304  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49305  		goto __2373
 49306  	}
 49307  
 49308  	len9 = 1
 49309  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49310  		goto __2374
 49311  	}
 49312  
 49313  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49314  		goto __2375
 49315  	}
 49316  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49317  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49318  		goto __2376
 49319  	}
 49320  	return -2
 49321  __2376:
 49322  	;
 49323  __2375:
 49324  	;
 49325  
 49326  	goto __2373
 49327  __2374:
 49328  	;
 49329  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49330  	if !(utf != 0 && fc >= 0xc0) {
 49331  		goto __2377
 49332  	}
 49333  	if !(fc&0x20 == Tuint32_t(0)) {
 49334  		goto __2378
 49335  	}
 49336  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49337  	len9++
 49338  	goto __2379
 49339  __2378:
 49340  	if !(fc&0x10 == Tuint32_t(0)) {
 49341  		goto __2380
 49342  	}
 49343  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49344  	len9 = len9 + 2
 49345  	goto __2381
 49346  __2380:
 49347  	if !(fc&0x08 == Tuint32_t(0)) {
 49348  		goto __2382
 49349  	}
 49350  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49351  	len9 = len9 + 3
 49352  	goto __2383
 49353  __2382:
 49354  	if !(fc&0x04 == Tuint32_t(0)) {
 49355  		goto __2384
 49356  	}
 49357  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49358  	len9 = len9 + 4
 49359  	goto __2385
 49360  __2384:
 49361  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49362  	len9 = len9 + 5
 49363  __2385:
 49364  	;
 49365  __2383:
 49366  	;
 49367  __2381:
 49368  	;
 49369  __2379:
 49370  	;
 49371  __2377:
 49372  	;
 49373  
 49374  	prop5 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 49375  	ok6 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop5)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop5)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 49376  	if !(ok6 == notmatch2) {
 49377  		goto __2386
 49378  	}
 49379  	goto __2373
 49380  __2386:
 49381  	;
 49382  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len9)
 49383  	goto __2372
 49384  __2372:
 49385  	i++
 49386  	goto __2371
 49387  	goto __2373
 49388  __2373:
 49389  	;
 49390  	goto __2275
 49391  
 49392  __2282:
 49393  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49394  __2387:
 49395  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49396  		goto __2389
 49397  	}
 49398  
 49399  	len10 = 1
 49400  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49401  		goto __2390
 49402  	}
 49403  
 49404  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49405  		goto __2391
 49406  	}
 49407  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49408  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49409  		goto __2392
 49410  	}
 49411  	return -2
 49412  __2392:
 49413  	;
 49414  __2391:
 49415  	;
 49416  
 49417  	goto __2389
 49418  __2390:
 49419  	;
 49420  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49421  	if !(utf != 0 && fc >= 0xc0) {
 49422  		goto __2393
 49423  	}
 49424  	if !(fc&0x20 == Tuint32_t(0)) {
 49425  		goto __2394
 49426  	}
 49427  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49428  	len10++
 49429  	goto __2395
 49430  __2394:
 49431  	if !(fc&0x10 == Tuint32_t(0)) {
 49432  		goto __2396
 49433  	}
 49434  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49435  	len10 = len10 + 2
 49436  	goto __2397
 49437  __2396:
 49438  	if !(fc&0x08 == Tuint32_t(0)) {
 49439  		goto __2398
 49440  	}
 49441  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49442  	len10 = len10 + 3
 49443  	goto __2399
 49444  __2398:
 49445  	if !(fc&0x04 == Tuint32_t(0)) {
 49446  		goto __2400
 49447  	}
 49448  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49449  	len10 = len10 + 4
 49450  	goto __2401
 49451  __2400:
 49452  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49453  	len10 = len10 + 5
 49454  __2401:
 49455  	;
 49456  __2399:
 49457  	;
 49458  __2397:
 49459  	;
 49460  __2395:
 49461  	;
 49462  __2393:
 49463  	;
 49464  
 49465  	category4 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 49466  	if !(libc.Bool32(category4 == ucp_L || category4 == ucp_N) == notmatch2) {
 49467  		goto __2402
 49468  	}
 49469  	goto __2389
 49470  __2402:
 49471  	;
 49472  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len10)
 49473  	goto __2388
 49474  __2388:
 49475  	i++
 49476  	goto __2387
 49477  	goto __2389
 49478  __2389:
 49479  	;
 49480  	goto __2275
 49481  
 49482  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 49483  	//           which means that Perl space and POSIX space are now identical. PCRE
 49484  	//           was changed at release 8.34.
 49485  
 49486  __2283: // Perl space
 49487  __2284: // POSIX space
 49488  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49489  __2403:
 49490  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49491  		goto __2405
 49492  	}
 49493  
 49494  	len11 = 1
 49495  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49496  		goto __2406
 49497  	}
 49498  
 49499  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49500  		goto __2407
 49501  	}
 49502  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49503  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49504  		goto __2408
 49505  	}
 49506  	return -2
 49507  __2408:
 49508  	;
 49509  __2407:
 49510  	;
 49511  
 49512  	goto __2405
 49513  __2406:
 49514  	;
 49515  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49516  	if !(utf != 0 && fc >= 0xc0) {
 49517  		goto __2409
 49518  	}
 49519  	if !(fc&0x20 == Tuint32_t(0)) {
 49520  		goto __2410
 49521  	}
 49522  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49523  	len11++
 49524  	goto __2411
 49525  __2410:
 49526  	if !(fc&0x10 == Tuint32_t(0)) {
 49527  		goto __2412
 49528  	}
 49529  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49530  	len11 = len11 + 2
 49531  	goto __2413
 49532  __2412:
 49533  	if !(fc&0x08 == Tuint32_t(0)) {
 49534  		goto __2414
 49535  	}
 49536  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49537  	len11 = len11 + 3
 49538  	goto __2415
 49539  __2414:
 49540  	if !(fc&0x04 == Tuint32_t(0)) {
 49541  		goto __2416
 49542  	}
 49543  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49544  	len11 = len11 + 4
 49545  	goto __2417
 49546  __2416:
 49547  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49548  	len11 = len11 + 5
 49549  __2417:
 49550  	;
 49551  __2415:
 49552  	;
 49553  __2413:
 49554  	;
 49555  __2411:
 49556  	;
 49557  __2409:
 49558  	;
 49559  
 49560  	switch fc {
 49561  	case Tuint32_t('\011'):
 49562  		goto __2419
 49563  	case Tuint32_t('\040'):
 49564  		goto __2420
 49565  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 49566  		goto __2421
 49567  	case Tuint32_t(0x1680):
 49568  		goto __2422 /* OGHAM SPACE MARK */
 49569  	case Tuint32_t(0x180e):
 49570  		goto __2423 /* MONGOLIAN VOWEL SEPARATOR */
 49571  	case Tuint32_t(0x2000):
 49572  		goto __2424 /* EN QUAD */
 49573  	case Tuint32_t(0x2001):
 49574  		goto __2425 /* EM QUAD */
 49575  	case Tuint32_t(0x2002):
 49576  		goto __2426 /* EN SPACE */
 49577  	case Tuint32_t(0x2003):
 49578  		goto __2427 /* EM SPACE */
 49579  	case Tuint32_t(0x2004):
 49580  		goto __2428 /* THREE-PER-EM SPACE */
 49581  	case Tuint32_t(0x2005):
 49582  		goto __2429 /* FOUR-PER-EM SPACE */
 49583  	case Tuint32_t(0x2006):
 49584  		goto __2430 /* SIX-PER-EM SPACE */
 49585  	case Tuint32_t(0x2007):
 49586  		goto __2431 /* FIGURE SPACE */
 49587  	case Tuint32_t(0x2008):
 49588  		goto __2432 /* PUNCTUATION SPACE */
 49589  	case Tuint32_t(0x2009):
 49590  		goto __2433 /* THIN SPACE */
 49591  	case Tuint32_t(0x200A):
 49592  		goto __2434 /* HAIR SPACE */
 49593  	case Tuint32_t(0x202f):
 49594  		goto __2435 /* NARROW NO-BREAK SPACE */
 49595  	case Tuint32_t(0x205f):
 49596  		goto __2436 /* MEDIUM MATHEMATICAL SPACE */
 49597  	case Tuint32_t(0x3000):
 49598  		goto __2437
 49599  	case Tuint32_t('\012'):
 49600  		goto __2438
 49601  	case Tuint32_t('\013'):
 49602  		goto __2439
 49603  	case Tuint32_t('\014'):
 49604  		goto __2440
 49605  	case Tuint32_t('\015'):
 49606  		goto __2441
 49607  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 49608  		goto __2442
 49609  	case Tuint32_t(0x2028):
 49610  		goto __2443 /* LINE SEPARATOR */
 49611  	case Tuint32_t(0x2029):
 49612  		goto __2444
 49613  
 49614  	default:
 49615  		goto __2445
 49616  	}
 49617  	goto __2418
 49618  
 49619  __2419:
 49620  __2420:
 49621  __2421:
 49622  __2422: /* OGHAM SPACE MARK */
 49623  __2423: /* MONGOLIAN VOWEL SEPARATOR */
 49624  __2424: /* EN QUAD */
 49625  __2425: /* EM QUAD */
 49626  __2426: /* EN SPACE */
 49627  __2427: /* EM SPACE */
 49628  __2428: /* THREE-PER-EM SPACE */
 49629  __2429: /* FOUR-PER-EM SPACE */
 49630  __2430: /* SIX-PER-EM SPACE */
 49631  __2431: /* FIGURE SPACE */
 49632  __2432: /* PUNCTUATION SPACE */
 49633  __2433: /* THIN SPACE */
 49634  __2434: /* HAIR SPACE */
 49635  __2435: /* NARROW NO-BREAK SPACE */
 49636  __2436: /* MEDIUM MATHEMATICAL SPACE */
 49637  __2437:
 49638  __2438:
 49639  __2439:
 49640  __2440:
 49641  __2441:
 49642  __2442:
 49643  __2443: /* LINE SEPARATOR */
 49644  __2444:
 49645  	if !(notmatch2 != 0) {
 49646  		goto __2446
 49647  	}
 49648  	goto ENDLOOP99
 49649  __2446:
 49650  	; // Break the loop
 49651  	goto __2418
 49652  
 49653  __2445:
 49654  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch2) {
 49655  		goto __2447
 49656  	}
 49657  	goto ENDLOOP99
 49658  __2447:
 49659  	; // Break the loop
 49660  	goto __2418
 49661  __2418:
 49662  	;
 49663  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len11)
 49664  	goto __2404
 49665  __2404:
 49666  	i++
 49667  	goto __2403
 49668  	goto __2405
 49669  __2405:
 49670  	;
 49671  ENDLOOP99:
 49672  	goto __2275
 49673  
 49674  __2285:
 49675  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49676  __2448:
 49677  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49678  		goto __2450
 49679  	}
 49680  
 49681  	len12 = 1
 49682  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49683  		goto __2451
 49684  	}
 49685  
 49686  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49687  		goto __2452
 49688  	}
 49689  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49690  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49691  		goto __2453
 49692  	}
 49693  	return -2
 49694  __2453:
 49695  	;
 49696  __2452:
 49697  	;
 49698  
 49699  	goto __2450
 49700  __2451:
 49701  	;
 49702  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49703  	if !(utf != 0 && fc >= 0xc0) {
 49704  		goto __2454
 49705  	}
 49706  	if !(fc&0x20 == Tuint32_t(0)) {
 49707  		goto __2455
 49708  	}
 49709  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49710  	len12++
 49711  	goto __2456
 49712  __2455:
 49713  	if !(fc&0x10 == Tuint32_t(0)) {
 49714  		goto __2457
 49715  	}
 49716  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49717  	len12 = len12 + 2
 49718  	goto __2458
 49719  __2457:
 49720  	if !(fc&0x08 == Tuint32_t(0)) {
 49721  		goto __2459
 49722  	}
 49723  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49724  	len12 = len12 + 3
 49725  	goto __2460
 49726  __2459:
 49727  	if !(fc&0x04 == Tuint32_t(0)) {
 49728  		goto __2461
 49729  	}
 49730  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49731  	len12 = len12 + 4
 49732  	goto __2462
 49733  __2461:
 49734  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49735  	len12 = len12 + 5
 49736  __2462:
 49737  	;
 49738  __2460:
 49739  	;
 49740  __2458:
 49741  	;
 49742  __2456:
 49743  	;
 49744  __2454:
 49745  	;
 49746  
 49747  	category5 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 49748  	if !(libc.Bool32(category5 == ucp_L || category5 == ucp_N || fc == Tuint32_t('\137')) == notmatch2) {
 49749  		goto __2463
 49750  	}
 49751  	goto __2450
 49752  __2463:
 49753  	;
 49754  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len12)
 49755  	goto __2449
 49756  __2449:
 49757  	i++
 49758  	goto __2448
 49759  	goto __2450
 49760  __2450:
 49761  	;
 49762  	goto __2275
 49763  
 49764  __2286:
 49765  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49766  __2464:
 49767  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49768  		goto __2466
 49769  	}
 49770  
 49771  	len13 = 1
 49772  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49773  		goto __2467
 49774  	}
 49775  
 49776  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49777  		goto __2468
 49778  	}
 49779  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49780  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49781  		goto __2469
 49782  	}
 49783  	return -2
 49784  __2469:
 49785  	;
 49786  __2468:
 49787  	;
 49788  
 49789  	goto __2466
 49790  __2467:
 49791  	;
 49792  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49793  	if !(utf != 0 && fc >= 0xc0) {
 49794  		goto __2470
 49795  	}
 49796  	if !(fc&0x20 == Tuint32_t(0)) {
 49797  		goto __2471
 49798  	}
 49799  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49800  	len13++
 49801  	goto __2472
 49802  __2471:
 49803  	if !(fc&0x10 == Tuint32_t(0)) {
 49804  		goto __2473
 49805  	}
 49806  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49807  	len13 = len13 + 2
 49808  	goto __2474
 49809  __2473:
 49810  	if !(fc&0x08 == Tuint32_t(0)) {
 49811  		goto __2475
 49812  	}
 49813  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49814  	len13 = len13 + 3
 49815  	goto __2476
 49816  __2475:
 49817  	if !(fc&0x04 == Tuint32_t(0)) {
 49818  		goto __2477
 49819  	}
 49820  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49821  	len13 = len13 + 4
 49822  	goto __2478
 49823  __2477:
 49824  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49825  	len13 = len13 + 5
 49826  __2478:
 49827  	;
 49828  __2476:
 49829  	;
 49830  __2474:
 49831  	;
 49832  __2472:
 49833  	;
 49834  __2470:
 49835  	;
 49836  
 49837  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 49838  __2479:
 49839  
 49840  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 49841  		goto __2482
 49842  	}
 49843  	if !(notmatch2 != 0) {
 49844  		goto __2483
 49845  	}
 49846  	goto __2481
 49847  	goto __2484
 49848  __2483:
 49849  	goto GOT_MAX
 49850  __2484:
 49851  	;
 49852  __2482:
 49853  	;
 49854  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 49855  		goto __2485
 49856  	}
 49857  	if !(notmatch2 != 0) {
 49858  		goto __2486
 49859  	}
 49860  	goto GOT_MAX
 49861  	goto __2487
 49862  __2486:
 49863  	goto __2481
 49864  __2487:
 49865  	;
 49866  __2485:
 49867  	;
 49868  	goto __2480
 49869  __2480:
 49870  	goto __2479
 49871  	goto __2481
 49872  __2481:
 49873  	;
 49874  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len13)
 49875  	goto __2465
 49876  __2465:
 49877  	i++
 49878  	goto __2464
 49879  	goto __2466
 49880  __2466:
 49881  	;
 49882  GOT_MAX:
 49883  	goto __2275
 49884  
 49885  __2287:
 49886  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49887  __2488:
 49888  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49889  		goto __2490
 49890  	}
 49891  
 49892  	len14 = 1
 49893  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49894  		goto __2491
 49895  	}
 49896  
 49897  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49898  		goto __2492
 49899  	}
 49900  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49901  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49902  		goto __2493
 49903  	}
 49904  	return -2
 49905  __2493:
 49906  	;
 49907  __2492:
 49908  	;
 49909  
 49910  	goto __2490
 49911  __2491:
 49912  	;
 49913  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49914  	if !(utf != 0 && fc >= 0xc0) {
 49915  		goto __2494
 49916  	}
 49917  	if !(fc&0x20 == Tuint32_t(0)) {
 49918  		goto __2495
 49919  	}
 49920  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49921  	len14++
 49922  	goto __2496
 49923  __2495:
 49924  	if !(fc&0x10 == Tuint32_t(0)) {
 49925  		goto __2497
 49926  	}
 49927  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49928  	len14 = len14 + 2
 49929  	goto __2498
 49930  __2497:
 49931  	if !(fc&0x08 == Tuint32_t(0)) {
 49932  		goto __2499
 49933  	}
 49934  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49935  	len14 = len14 + 3
 49936  	goto __2500
 49937  __2499:
 49938  	if !(fc&0x04 == Tuint32_t(0)) {
 49939  		goto __2501
 49940  	}
 49941  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49942  	len14 = len14 + 4
 49943  	goto __2502
 49944  __2501:
 49945  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49946  	len14 = len14 + 5
 49947  __2502:
 49948  	;
 49949  __2500:
 49950  	;
 49951  __2498:
 49952  	;
 49953  __2496:
 49954  	;
 49955  __2494:
 49956  	;
 49957  
 49958  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch2) {
 49959  		goto __2503
 49960  	}
 49961  	goto __2490
 49962  __2503:
 49963  	;
 49964  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len14)
 49965  	goto __2489
 49966  __2489:
 49967  	i++
 49968  	goto __2488
 49969  	goto __2490
 49970  __2490:
 49971  	;
 49972  	goto __2275
 49973  
 49974  __2288:
 49975  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49976  __2504:
 49977  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49978  		goto __2506
 49979  	}
 49980  
 49981  	len15 = 1
 49982  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49983  		goto __2507
 49984  	}
 49985  
 49986  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49987  		goto __2508
 49988  	}
 49989  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49990  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49991  		goto __2509
 49992  	}
 49993  	return -2
 49994  __2509:
 49995  	;
 49996  __2508:
 49997  	;
 49998  
 49999  	goto __2506
 50000  __2507:
 50001  	;
 50002  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50003  	if !(utf != 0 && fc >= 0xc0) {
 50004  		goto __2510
 50005  	}
 50006  	if !(fc&0x20 == Tuint32_t(0)) {
 50007  		goto __2511
 50008  	}
 50009  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50010  	len15++
 50011  	goto __2512
 50012  __2511:
 50013  	if !(fc&0x10 == Tuint32_t(0)) {
 50014  		goto __2513
 50015  	}
 50016  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50017  	len15 = len15 + 2
 50018  	goto __2514
 50019  __2513:
 50020  	if !(fc&0x08 == Tuint32_t(0)) {
 50021  		goto __2515
 50022  	}
 50023  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50024  	len15 = len15 + 3
 50025  	goto __2516
 50026  __2515:
 50027  	if !(fc&0x04 == Tuint32_t(0)) {
 50028  		goto __2517
 50029  	}
 50030  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50031  	len15 = len15 + 4
 50032  	goto __2518
 50033  __2517:
 50034  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50035  	len15 = len15 + 5
 50036  __2518:
 50037  	;
 50038  __2516:
 50039  	;
 50040  __2514:
 50041  	;
 50042  __2512:
 50043  	;
 50044  __2510:
 50045  	;
 50046  
 50047  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 50048  		goto __2519
 50049  	}
 50050  	goto __2506
 50051  __2519:
 50052  	;
 50053  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len15)
 50054  	goto __2505
 50055  __2505:
 50056  	i++
 50057  	goto __2504
 50058  	goto __2506
 50059  __2506:
 50060  	;
 50061  	goto __2275
 50062  
 50063  __2289:
 50064  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50065  __2520:
 50066  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50067  		goto __2522
 50068  	}
 50069  
 50070  	len16 = 1
 50071  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50072  		goto __2523
 50073  	}
 50074  
 50075  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50076  		goto __2524
 50077  	}
 50078  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50079  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50080  		goto __2525
 50081  	}
 50082  	return -2
 50083  __2525:
 50084  	;
 50085  __2524:
 50086  	;
 50087  
 50088  	goto __2522
 50089  __2523:
 50090  	;
 50091  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50092  	if !(utf != 0 && fc >= 0xc0) {
 50093  		goto __2526
 50094  	}
 50095  	if !(fc&0x20 == Tuint32_t(0)) {
 50096  		goto __2527
 50097  	}
 50098  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50099  	len16++
 50100  	goto __2528
 50101  __2527:
 50102  	if !(fc&0x10 == Tuint32_t(0)) {
 50103  		goto __2529
 50104  	}
 50105  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50106  	len16 = len16 + 2
 50107  	goto __2530
 50108  __2529:
 50109  	if !(fc&0x08 == Tuint32_t(0)) {
 50110  		goto __2531
 50111  	}
 50112  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50113  	len16 = len16 + 3
 50114  	goto __2532
 50115  __2531:
 50116  	if !(fc&0x04 == Tuint32_t(0)) {
 50117  		goto __2533
 50118  	}
 50119  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50120  	len16 = len16 + 4
 50121  	goto __2534
 50122  __2533:
 50123  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50124  	len16 = len16 + 5
 50125  __2534:
 50126  	;
 50127  __2532:
 50128  	;
 50129  __2530:
 50130  	;
 50131  __2528:
 50132  	;
 50133  __2526:
 50134  	;
 50135  
 50136  	prop6 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 50137  	ok7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop6)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 50138  	if !(ok7 == notmatch2) {
 50139  		goto __2535
 50140  	}
 50141  	goto __2522
 50142  __2535:
 50143  	;
 50144  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len16)
 50145  	goto __2521
 50146  __2521:
 50147  	i++
 50148  	goto __2520
 50149  	goto __2522
 50150  __2522:
 50151  	;
 50152  	goto __2275
 50153  
 50154  __2290:
 50155  	return -44
 50156  __2275:
 50157  	;
 50158  
 50159  	// Feptr is now past the end of the maximum run
 50160  
 50161  	if !(reptype == REPTYPE_POS) {
 50162  		goto __2536
 50163  	}
 50164  	goto __11
 50165  __2536:
 50166  	; // No backtracking
 50167  
 50168  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 50169  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 50170  	//         go too far.
 50171  
 50172  __2537:
 50173  
 50174  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50175  		goto __2540
 50176  	}
 50177  	goto __2539
 50178  __2540:
 50179  	;
 50180  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50181  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM222
 50182  	goto MATCH_RECURSE
 50183  L_RM222:
 50184  	;
 50185  
 50186  	if !(rrc != DMATCH_NOMATCH) {
 50187  		goto __2541
 50188  	}
 50189  	rrc = rrc
 50190  	goto RETURN_SWITCH
 50191  __2541:
 50192  	;
 50193  
 50194  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50195  	if !(utf != 0) {
 50196  		goto __2542
 50197  	}
 50198  __2543:
 50199  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50200  		goto __2544
 50201  	}
 50202  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50203  	goto __2543
 50204  __2544:
 50205  	;
 50206  __2542:
 50207  	;
 50208  	goto __2538
 50209  __2538:
 50210  	goto __2537
 50211  	goto __2539
 50212  __2539:
 50213  	;
 50214  	goto __2274
 50215  __2273:
 50216  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 50217  		goto __2545
 50218  	}
 50219  
 50220  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50221  __2547:
 50222  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50223  		goto __2549
 50224  	}
 50225  
 50226  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50227  		goto __2550
 50228  	}
 50229  
 50230  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50231  		goto __2552
 50232  	}
 50233  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50234  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50235  		goto __2553
 50236  	}
 50237  	return -2
 50238  __2553:
 50239  	;
 50240  __2552:
 50241  	;
 50242  
 50243  	goto __2549
 50244  	goto __2551
 50245  __2550:
 50246  
 50247  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 50248  	if !(utf != 0 && fc >= 0xc0) {
 50249  		goto __2554
 50250  	}
 50251  	if !(fc&0x20 == Tuint32_t(0)) {
 50252  		goto __2555
 50253  	}
 50254  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 50255  	goto __2556
 50256  __2555:
 50257  	if !(fc&0x10 == Tuint32_t(0)) {
 50258  		goto __2557
 50259  	}
 50260  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50261  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 50262  	goto __2558
 50263  __2557:
 50264  	if !(fc&0x08 == Tuint32_t(0)) {
 50265  		goto __2559
 50266  	}
 50267  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50268  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 50269  	goto __2560
 50270  __2559:
 50271  	if !(fc&0x04 == Tuint32_t(0)) {
 50272  		goto __2561
 50273  	}
 50274  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50275  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 50276  	goto __2562
 50277  __2561:
 50278  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50279  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 50280  __2562:
 50281  	;
 50282  __2560:
 50283  	;
 50284  __2558:
 50285  	;
 50286  __2556:
 50287  	;
 50288  __2554:
 50289  	;
 50290  
 50291  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject,
 50292  		utf, uintptr(0))
 50293  __2551:
 50294  	;
 50295  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50296  		goto __2563
 50297  	}
 50298  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50299  		goto __2564
 50300  	}
 50301  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50302  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50303  		goto __2565
 50304  	}
 50305  	return -2
 50306  __2565:
 50307  	;
 50308  __2564:
 50309  	;
 50310  __2563:
 50311  	;
 50312  
 50313  	goto __2548
 50314  __2548:
 50315  	i++
 50316  	goto __2547
 50317  	goto __2549
 50318  __2549:
 50319  	;
 50320  
 50321  	// Feptr is now past the end of the maximum run
 50322  
 50323  	if !(reptype == REPTYPE_POS) {
 50324  		goto __2566
 50325  	}
 50326  	goto __11
 50327  __2566:
 50328  	; // No backtracking
 50329  
 50330  	// We use <= Lstart_eptr rather than == Lstart_eptr to detect the start
 50331  	//         of the run while backtracking because the use of \C in UTF mode can
 50332  	//         cause BACKCHAR to move back past Lstart_eptr. This is just palliative;
 50333  	//         the use of \C in UTF mode is fraught with danger.
 50334  
 50335  __2567:
 50336  
 50337  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50338  		goto __2570
 50339  	}
 50340  	goto __2569
 50341  __2570:
 50342  	; /* At start of char run */
 50343  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50344  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM220
 50345  	goto MATCH_RECURSE
 50346  L_RM220:
 50347  	;
 50348  
 50349  	if !(rrc != DMATCH_NOMATCH) {
 50350  		goto __2571
 50351  	}
 50352  	rrc = rrc
 50353  	goto RETURN_SWITCH
 50354  __2571:
 50355  	;
 50356  
 50357  	// Backtracking over an extended grapheme cluster involves inspecting
 50358  	//           the previous two characters (if present) to see if a break is
 50359  	//           permitted between them.
 50360  
 50361  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50362  	if !!(utf != 0) {
 50363  		goto __2572
 50364  	}
 50365  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50366  	goto __2573
 50367  __2572:
 50368  
 50369  __2574:
 50370  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50371  		goto __2575
 50372  	}
 50373  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50374  	goto __2574
 50375  __2575:
 50376  	;
 50377  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50378  	if !(fc >= 0xc0) {
 50379  		goto __2576
 50380  	}
 50381  	if !(fc&0x20 == Tuint32_t(0)) {
 50382  		goto __2577
 50383  	}
 50384  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50385  	goto __2578
 50386  __2577:
 50387  	if !(fc&0x10 == Tuint32_t(0)) {
 50388  		goto __2579
 50389  	}
 50390  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50391  	goto __2580
 50392  __2579:
 50393  	if !(fc&0x08 == Tuint32_t(0)) {
 50394  		goto __2581
 50395  	}
 50396  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50397  	goto __2582
 50398  __2581:
 50399  	if !(fc&0x04 == Tuint32_t(0)) {
 50400  		goto __2583
 50401  	}
 50402  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50403  	goto __2584
 50404  __2583:
 50405  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50406  __2584:
 50407  	;
 50408  __2582:
 50409  	;
 50410  __2580:
 50411  	;
 50412  __2578:
 50413  	;
 50414  __2576:
 50415  	;
 50416  
 50417  __2573:
 50418  	;
 50419  	rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 50420  
 50421  __2585:
 50422  
 50423  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50424  		goto __2588
 50425  	}
 50426  	goto __2587
 50427  __2588:
 50428  	; // At start of char run
 50429  	fptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 50430  	if !!(utf != 0) {
 50431  		goto __2589
 50432  	}
 50433  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50434  	goto __2590
 50435  __2589:
 50436  
 50437  __2591:
 50438  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))&0xc0 == 0x80) {
 50439  		goto __2592
 50440  	}
 50441  	fptr--
 50442  	goto __2591
 50443  __2592:
 50444  	;
 50445  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50446  	if !(fc >= 0xc0) {
 50447  		goto __2593
 50448  	}
 50449  	if !(fc&0x20 == Tuint32_t(0)) {
 50450  		goto __2594
 50451  	}
 50452  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f
 50453  	goto __2595
 50454  __2594:
 50455  	if !(fc&0x10 == Tuint32_t(0)) {
 50456  		goto __2596
 50457  	}
 50458  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f
 50459  	goto __2597
 50460  __2596:
 50461  	if !(fc&0x08 == Tuint32_t(0)) {
 50462  		goto __2598
 50463  	}
 50464  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f
 50465  	goto __2599
 50466  __2598:
 50467  	if !(fc&0x04 == Tuint32_t(0)) {
 50468  		goto __2600
 50469  	}
 50470  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f
 50471  	goto __2601
 50472  __2600:
 50473  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 5)))&0x3f
 50474  __2601:
 50475  	;
 50476  __2599:
 50477  	;
 50478  __2597:
 50479  	;
 50480  __2595:
 50481  	;
 50482  __2593:
 50483  	;
 50484  
 50485  __2590:
 50486  	;
 50487  	lgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 50488  	if !(X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0)) {
 50489  		goto __2602
 50490  	}
 50491  	goto __2587
 50492  __2602:
 50493  	;
 50494  	(*Theapframe)(unsafe.Pointer(F)).Feptr = fptr
 50495  	rgb = lgb
 50496  	goto __2586
 50497  __2586:
 50498  	goto __2585
 50499  	goto __2587
 50500  __2587:
 50501  	;
 50502  	goto __2568
 50503  __2568:
 50504  	goto __2567
 50505  	goto __2569
 50506  __2569:
 50507  	;
 50508  	goto __2546
 50509  __2545:
 50510  
 50511  	if !(utf != 0) {
 50512  		goto __2603
 50513  	}
 50514  
 50515  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 50516  	case OP_ANY:
 50517  		goto __2606
 50518  
 50519  	case OP_ALLANY:
 50520  		goto __2607
 50521  
 50522  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50523  
 50524  	case OP_ANYBYTE:
 50525  		goto __2608
 50526  
 50527  	case OP_ANYNL:
 50528  		goto __2609
 50529  
 50530  	case OP_NOT_HSPACE:
 50531  		goto __2610
 50532  	case OP_HSPACE:
 50533  		goto __2611
 50534  
 50535  	case OP_NOT_VSPACE:
 50536  		goto __2612
 50537  	case OP_VSPACE:
 50538  		goto __2613
 50539  
 50540  	case OP_NOT_DIGIT:
 50541  		goto __2614
 50542  
 50543  	case OP_DIGIT:
 50544  		goto __2615
 50545  
 50546  	case OP_NOT_WHITESPACE:
 50547  		goto __2616
 50548  
 50549  	case OP_WHITESPACE:
 50550  		goto __2617
 50551  
 50552  	case OP_NOT_WORDCHAR:
 50553  		goto __2618
 50554  
 50555  	case OP_WORDCHAR:
 50556  		goto __2619
 50557  
 50558  	default:
 50559  		goto __2620
 50560  	}
 50561  	goto __2605
 50562  
 50563  __2606:
 50564  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50565  __2621:
 50566  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50567  		goto __2623
 50568  	}
 50569  
 50570  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50571  		goto __2624
 50572  	}
 50573  
 50574  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50575  		goto __2625
 50576  	}
 50577  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50578  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50579  		goto __2626
 50580  	}
 50581  	return -2
 50582  __2626:
 50583  	;
 50584  __2625:
 50585  	;
 50586  
 50587  	goto __2623
 50588  __2624:
 50589  	;
 50590  	if !(func() int32 {
 50591  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 50592  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 50593  		}
 50594  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 50595  	}() != 0) {
 50596  		goto __2627
 50597  	}
 50598  	goto __2623
 50599  __2627:
 50600  	;
 50601  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 50602  		goto __2628
 50603  	}
 50604  
 50605  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50606  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50607  		goto __2629
 50608  	}
 50609  	return -2
 50610  __2629:
 50611  	;
 50612  __2628:
 50613  	;
 50614  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50615  __2630:
 50616  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50617  		goto __2631
 50618  	}
 50619  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50620  	goto __2630
 50621  __2631:
 50622  	;
 50623  	goto __2622
 50624  __2622:
 50625  	i++
 50626  	goto __2621
 50627  	goto __2623
 50628  __2623:
 50629  	;
 50630  	goto __2605
 50631  
 50632  __2607:
 50633  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) < 4294967295) {
 50634  		goto __2632
 50635  	}
 50636  
 50637  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50638  __2634:
 50639  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50640  		goto __2636
 50641  	}
 50642  
 50643  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50644  		goto __2637
 50645  	}
 50646  
 50647  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50648  		goto __2638
 50649  	}
 50650  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50651  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50652  		goto __2639
 50653  	}
 50654  	return -2
 50655  __2639:
 50656  	;
 50657  __2638:
 50658  	;
 50659  
 50660  	goto __2636
 50661  __2637:
 50662  	;
 50663  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50664  __2640:
 50665  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50666  		goto __2641
 50667  	}
 50668  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50669  	goto __2640
 50670  __2641:
 50671  	;
 50672  	goto __2635
 50673  __2635:
 50674  	i++
 50675  	goto __2634
 50676  	goto __2636
 50677  __2636:
 50678  	;
 50679  	goto __2633
 50680  __2632:
 50681  
 50682  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject // Unlimited UTF-8 repeat
 50683  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50684  		goto __2642
 50685  	}
 50686  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50687  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50688  		goto __2643
 50689  	}
 50690  	return -2
 50691  __2643:
 50692  	;
 50693  __2642:
 50694  	;
 50695  
 50696  __2633:
 50697  	;
 50698  	goto __2605
 50699  
 50700  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50701  
 50702  __2608:
 50703  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50704  	if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 50705  		goto __2644
 50706  	}
 50707  
 50708  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 50709  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50710  		goto __2646
 50711  	}
 50712  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50713  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50714  		goto __2647
 50715  	}
 50716  	return -2
 50717  __2647:
 50718  	;
 50719  __2646:
 50720  	;
 50721  
 50722  	goto __2645
 50723  __2644:
 50724  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc)
 50725  __2645:
 50726  	;
 50727  	goto __2605
 50728  
 50729  __2609:
 50730  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50731  __2648:
 50732  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50733  		goto __2650
 50734  	}
 50735  
 50736  	len17 = 1
 50737  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50738  		goto __2651
 50739  	}
 50740  
 50741  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50742  		goto __2652
 50743  	}
 50744  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50745  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50746  		goto __2653
 50747  	}
 50748  	return -2
 50749  __2653:
 50750  	;
 50751  __2652:
 50752  	;
 50753  
 50754  	goto __2650
 50755  __2651:
 50756  	;
 50757  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50758  	if !(fc >= 0xc0) {
 50759  		goto __2654
 50760  	}
 50761  	if !(fc&0x20 == Tuint32_t(0)) {
 50762  		goto __2655
 50763  	}
 50764  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50765  	len17++
 50766  	goto __2656
 50767  __2655:
 50768  	if !(fc&0x10 == Tuint32_t(0)) {
 50769  		goto __2657
 50770  	}
 50771  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50772  	len17 = len17 + 2
 50773  	goto __2658
 50774  __2657:
 50775  	if !(fc&0x08 == Tuint32_t(0)) {
 50776  		goto __2659
 50777  	}
 50778  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50779  	len17 = len17 + 3
 50780  	goto __2660
 50781  __2659:
 50782  	if !(fc&0x04 == Tuint32_t(0)) {
 50783  		goto __2661
 50784  	}
 50785  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50786  	len17 = len17 + 4
 50787  	goto __2662
 50788  __2661:
 50789  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50790  	len17 = len17 + 5
 50791  __2662:
 50792  	;
 50793  __2660:
 50794  	;
 50795  __2658:
 50796  	;
 50797  __2656:
 50798  	;
 50799  __2654:
 50800  	;
 50801  
 50802  	if !(fc == Tuint32_t('\015')) {
 50803  		goto __2663
 50804  	}
 50805  
 50806  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50807  		goto __2665
 50808  	}
 50809  	goto __2650
 50810  __2665:
 50811  	;
 50812  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 50813  		goto __2666
 50814  	}
 50815  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50816  __2666:
 50817  	;
 50818  	goto __2664
 50819  __2663:
 50820  
 50821  	if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != libc.Uint32FromUint8(libc.Uint8FromInt32(133)) &&
 50822  		fc != Tuint32_t(0x2028) && fc != Tuint32_t(0x2029))) {
 50823  		goto __2667
 50824  	}
 50825  	goto __2650
 50826  __2667:
 50827  	;
 50828  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len17)
 50829  __2664:
 50830  	;
 50831  	goto __2649
 50832  __2649:
 50833  	i++
 50834  	goto __2648
 50835  	goto __2650
 50836  __2650:
 50837  	;
 50838  	goto __2605
 50839  
 50840  __2610:
 50841  __2611:
 50842  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50843  __2668:
 50844  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50845  		goto __2670
 50846  	}
 50847  
 50848  	len18 = 1
 50849  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50850  		goto __2671
 50851  	}
 50852  
 50853  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50854  		goto __2672
 50855  	}
 50856  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50857  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50858  		goto __2673
 50859  	}
 50860  	return -2
 50861  __2673:
 50862  	;
 50863  __2672:
 50864  	;
 50865  
 50866  	goto __2670
 50867  __2671:
 50868  	;
 50869  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50870  	if !(fc >= 0xc0) {
 50871  		goto __2674
 50872  	}
 50873  	if !(fc&0x20 == Tuint32_t(0)) {
 50874  		goto __2675
 50875  	}
 50876  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50877  	len18++
 50878  	goto __2676
 50879  __2675:
 50880  	if !(fc&0x10 == Tuint32_t(0)) {
 50881  		goto __2677
 50882  	}
 50883  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50884  	len18 = len18 + 2
 50885  	goto __2678
 50886  __2677:
 50887  	if !(fc&0x08 == Tuint32_t(0)) {
 50888  		goto __2679
 50889  	}
 50890  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50891  	len18 = len18 + 3
 50892  	goto __2680
 50893  __2679:
 50894  	if !(fc&0x04 == Tuint32_t(0)) {
 50895  		goto __2681
 50896  	}
 50897  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50898  	len18 = len18 + 4
 50899  	goto __2682
 50900  __2681:
 50901  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50902  	len18 = len18 + 5
 50903  __2682:
 50904  	;
 50905  __2680:
 50906  	;
 50907  __2678:
 50908  	;
 50909  __2676:
 50910  	;
 50911  __2674:
 50912  	;
 50913  
 50914  	switch fc {
 50915  	case Tuint32_t('\011'):
 50916  		goto __2684
 50917  	case Tuint32_t('\040'):
 50918  		goto __2685
 50919  	case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 50920  		goto __2686
 50921  	case Tuint32_t(0x1680):
 50922  		goto __2687 /* OGHAM SPACE MARK */
 50923  	case Tuint32_t(0x180e):
 50924  		goto __2688 /* MONGOLIAN VOWEL SEPARATOR */
 50925  	case Tuint32_t(0x2000):
 50926  		goto __2689 /* EN QUAD */
 50927  	case Tuint32_t(0x2001):
 50928  		goto __2690 /* EM QUAD */
 50929  	case Tuint32_t(0x2002):
 50930  		goto __2691 /* EN SPACE */
 50931  	case Tuint32_t(0x2003):
 50932  		goto __2692 /* EM SPACE */
 50933  	case Tuint32_t(0x2004):
 50934  		goto __2693 /* THREE-PER-EM SPACE */
 50935  	case Tuint32_t(0x2005):
 50936  		goto __2694 /* FOUR-PER-EM SPACE */
 50937  	case Tuint32_t(0x2006):
 50938  		goto __2695 /* SIX-PER-EM SPACE */
 50939  	case Tuint32_t(0x2007):
 50940  		goto __2696 /* FIGURE SPACE */
 50941  	case Tuint32_t(0x2008):
 50942  		goto __2697 /* PUNCTUATION SPACE */
 50943  	case Tuint32_t(0x2009):
 50944  		goto __2698 /* THIN SPACE */
 50945  	case Tuint32_t(0x200A):
 50946  		goto __2699 /* HAIR SPACE */
 50947  	case Tuint32_t(0x202f):
 50948  		goto __2700 /* NARROW NO-BREAK SPACE */
 50949  	case Tuint32_t(0x205f):
 50950  		goto __2701 /* MEDIUM MATHEMATICAL SPACE */
 50951  	case Tuint32_t(0x3000):
 50952  		goto __2702
 50953  	default:
 50954  		goto __2703
 50955  	}
 50956  	goto __2683
 50957  
 50958  __2684:
 50959  __2685:
 50960  __2686:
 50961  __2687: /* OGHAM SPACE MARK */
 50962  __2688: /* MONGOLIAN VOWEL SEPARATOR */
 50963  __2689: /* EN QUAD */
 50964  __2690: /* EM QUAD */
 50965  __2691: /* EN SPACE */
 50966  __2692: /* EM SPACE */
 50967  __2693: /* THREE-PER-EM SPACE */
 50968  __2694: /* FOUR-PER-EM SPACE */
 50969  __2695: /* SIX-PER-EM SPACE */
 50970  __2696: /* FIGURE SPACE */
 50971  __2697: /* PUNCTUATION SPACE */
 50972  __2698: /* THIN SPACE */
 50973  __2699: /* HAIR SPACE */
 50974  __2700: /* NARROW NO-BREAK SPACE */
 50975  __2701: /* MEDIUM MATHEMATICAL SPACE */
 50976  __2702:
 50977  	gotspace = DTRUE
 50978  	goto __2683
 50979  __2703:
 50980  	gotspace = DFALSE
 50981  	goto __2683
 50982  __2683:
 50983  	;
 50984  	if !(gotspace == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_HSPACE)) {
 50985  		goto __2704
 50986  	}
 50987  	goto __2670
 50988  __2704:
 50989  	;
 50990  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len18)
 50991  	goto __2669
 50992  __2669:
 50993  	i++
 50994  	goto __2668
 50995  	goto __2670
 50996  __2670:
 50997  	;
 50998  	goto __2605
 50999  
 51000  __2612:
 51001  __2613:
 51002  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51003  __2705:
 51004  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51005  		goto __2707
 51006  	}
 51007  
 51008  	len19 = 1
 51009  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51010  		goto __2708
 51011  	}
 51012  
 51013  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51014  		goto __2709
 51015  	}
 51016  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51017  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51018  		goto __2710
 51019  	}
 51020  	return -2
 51021  __2710:
 51022  	;
 51023  __2709:
 51024  	;
 51025  
 51026  	goto __2707
 51027  __2708:
 51028  	;
 51029  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51030  	if !(fc >= 0xc0) {
 51031  		goto __2711
 51032  	}
 51033  	if !(fc&0x20 == Tuint32_t(0)) {
 51034  		goto __2712
 51035  	}
 51036  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51037  	len19++
 51038  	goto __2713
 51039  __2712:
 51040  	if !(fc&0x10 == Tuint32_t(0)) {
 51041  		goto __2714
 51042  	}
 51043  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51044  	len19 = len19 + 2
 51045  	goto __2715
 51046  __2714:
 51047  	if !(fc&0x08 == Tuint32_t(0)) {
 51048  		goto __2716
 51049  	}
 51050  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51051  	len19 = len19 + 3
 51052  	goto __2717
 51053  __2716:
 51054  	if !(fc&0x04 == Tuint32_t(0)) {
 51055  		goto __2718
 51056  	}
 51057  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51058  	len19 = len19 + 4
 51059  	goto __2719
 51060  __2718:
 51061  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51062  	len19 = len19 + 5
 51063  __2719:
 51064  	;
 51065  __2717:
 51066  	;
 51067  __2715:
 51068  	;
 51069  __2713:
 51070  	;
 51071  __2711:
 51072  	;
 51073  
 51074  	switch fc {
 51075  	case Tuint32_t('\012'):
 51076  		goto __2721
 51077  	case Tuint32_t('\013'):
 51078  		goto __2722
 51079  	case Tuint32_t('\014'):
 51080  		goto __2723
 51081  	case Tuint32_t('\015'):
 51082  		goto __2724
 51083  	case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 51084  		goto __2725
 51085  	case Tuint32_t(0x2028):
 51086  		goto __2726 /* LINE SEPARATOR */
 51087  	case Tuint32_t(0x2029):
 51088  		goto __2727
 51089  	default:
 51090  		goto __2728
 51091  	}
 51092  	goto __2720
 51093  
 51094  __2721:
 51095  __2722:
 51096  __2723:
 51097  __2724:
 51098  __2725:
 51099  __2726: /* LINE SEPARATOR */
 51100  __2727:
 51101  	gotspace1 = DTRUE
 51102  	goto __2720
 51103  __2728:
 51104  	gotspace1 = DFALSE
 51105  	goto __2720
 51106  __2720:
 51107  	;
 51108  	if !(gotspace1 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_VSPACE)) {
 51109  		goto __2729
 51110  	}
 51111  	goto __2707
 51112  __2729:
 51113  	;
 51114  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len19)
 51115  	goto __2706
 51116  __2706:
 51117  	i++
 51118  	goto __2705
 51119  	goto __2707
 51120  __2707:
 51121  	;
 51122  	goto __2605
 51123  
 51124  __2614:
 51125  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51126  __2730:
 51127  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51128  		goto __2732
 51129  	}
 51130  
 51131  	len20 = 1
 51132  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51133  		goto __2733
 51134  	}
 51135  
 51136  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51137  		goto __2734
 51138  	}
 51139  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51140  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51141  		goto __2735
 51142  	}
 51143  	return -2
 51144  __2735:
 51145  	;
 51146  __2734:
 51147  	;
 51148  
 51149  	goto __2732
 51150  __2733:
 51151  	;
 51152  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51153  	if !(fc >= 0xc0) {
 51154  		goto __2736
 51155  	}
 51156  	if !(fc&0x20 == Tuint32_t(0)) {
 51157  		goto __2737
 51158  	}
 51159  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51160  	len20++
 51161  	goto __2738
 51162  __2737:
 51163  	if !(fc&0x10 == Tuint32_t(0)) {
 51164  		goto __2739
 51165  	}
 51166  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51167  	len20 = len20 + 2
 51168  	goto __2740
 51169  __2739:
 51170  	if !(fc&0x08 == Tuint32_t(0)) {
 51171  		goto __2741
 51172  	}
 51173  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51174  	len20 = len20 + 3
 51175  	goto __2742
 51176  __2741:
 51177  	if !(fc&0x04 == Tuint32_t(0)) {
 51178  		goto __2743
 51179  	}
 51180  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51181  	len20 = len20 + 4
 51182  	goto __2744
 51183  __2743:
 51184  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51185  	len20 = len20 + 5
 51186  __2744:
 51187  	;
 51188  __2742:
 51189  	;
 51190  __2740:
 51191  	;
 51192  __2738:
 51193  	;
 51194  __2736:
 51195  	;
 51196  
 51197  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 51198  		goto __2745
 51199  	}
 51200  	goto __2732
 51201  __2745:
 51202  	;
 51203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len20)
 51204  	goto __2731
 51205  __2731:
 51206  	i++
 51207  	goto __2730
 51208  	goto __2732
 51209  __2732:
 51210  	;
 51211  	goto __2605
 51212  
 51213  __2615:
 51214  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51215  __2746:
 51216  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51217  		goto __2748
 51218  	}
 51219  
 51220  	len21 = 1
 51221  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51222  		goto __2749
 51223  	}
 51224  
 51225  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51226  		goto __2750
 51227  	}
 51228  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51229  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51230  		goto __2751
 51231  	}
 51232  	return -2
 51233  __2751:
 51234  	;
 51235  __2750:
 51236  	;
 51237  
 51238  	goto __2748
 51239  __2749:
 51240  	;
 51241  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51242  	if !(fc >= 0xc0) {
 51243  		goto __2752
 51244  	}
 51245  	if !(fc&0x20 == Tuint32_t(0)) {
 51246  		goto __2753
 51247  	}
 51248  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51249  	len21++
 51250  	goto __2754
 51251  __2753:
 51252  	if !(fc&0x10 == Tuint32_t(0)) {
 51253  		goto __2755
 51254  	}
 51255  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51256  	len21 = len21 + 2
 51257  	goto __2756
 51258  __2755:
 51259  	if !(fc&0x08 == Tuint32_t(0)) {
 51260  		goto __2757
 51261  	}
 51262  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51263  	len21 = len21 + 3
 51264  	goto __2758
 51265  __2757:
 51266  	if !(fc&0x04 == Tuint32_t(0)) {
 51267  		goto __2759
 51268  	}
 51269  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51270  	len21 = len21 + 4
 51271  	goto __2760
 51272  __2759:
 51273  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51274  	len21 = len21 + 5
 51275  __2760:
 51276  	;
 51277  __2758:
 51278  	;
 51279  __2756:
 51280  	;
 51281  __2754:
 51282  	;
 51283  __2752:
 51284  	;
 51285  
 51286  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 51287  		goto __2761
 51288  	}
 51289  	goto __2748
 51290  __2761:
 51291  	;
 51292  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len21)
 51293  	goto __2747
 51294  __2747:
 51295  	i++
 51296  	goto __2746
 51297  	goto __2748
 51298  __2748:
 51299  	;
 51300  	goto __2605
 51301  
 51302  __2616:
 51303  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51304  __2762:
 51305  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51306  		goto __2764
 51307  	}
 51308  
 51309  	len22 = 1
 51310  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51311  		goto __2765
 51312  	}
 51313  
 51314  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51315  		goto __2766
 51316  	}
 51317  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51318  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51319  		goto __2767
 51320  	}
 51321  	return -2
 51322  __2767:
 51323  	;
 51324  __2766:
 51325  	;
 51326  
 51327  	goto __2764
 51328  __2765:
 51329  	;
 51330  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51331  	if !(fc >= 0xc0) {
 51332  		goto __2768
 51333  	}
 51334  	if !(fc&0x20 == Tuint32_t(0)) {
 51335  		goto __2769
 51336  	}
 51337  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51338  	len22++
 51339  	goto __2770
 51340  __2769:
 51341  	if !(fc&0x10 == Tuint32_t(0)) {
 51342  		goto __2771
 51343  	}
 51344  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51345  	len22 = len22 + 2
 51346  	goto __2772
 51347  __2771:
 51348  	if !(fc&0x08 == Tuint32_t(0)) {
 51349  		goto __2773
 51350  	}
 51351  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51352  	len22 = len22 + 3
 51353  	goto __2774
 51354  __2773:
 51355  	if !(fc&0x04 == Tuint32_t(0)) {
 51356  		goto __2775
 51357  	}
 51358  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51359  	len22 = len22 + 4
 51360  	goto __2776
 51361  __2775:
 51362  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51363  	len22 = len22 + 5
 51364  __2776:
 51365  	;
 51366  __2774:
 51367  	;
 51368  __2772:
 51369  	;
 51370  __2770:
 51371  	;
 51372  __2768:
 51373  	;
 51374  
 51375  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 51376  		goto __2777
 51377  	}
 51378  	goto __2764
 51379  __2777:
 51380  	;
 51381  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len22)
 51382  	goto __2763
 51383  __2763:
 51384  	i++
 51385  	goto __2762
 51386  	goto __2764
 51387  __2764:
 51388  	;
 51389  	goto __2605
 51390  
 51391  __2617:
 51392  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51393  __2778:
 51394  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51395  		goto __2780
 51396  	}
 51397  
 51398  	len23 = 1
 51399  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51400  		goto __2781
 51401  	}
 51402  
 51403  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51404  		goto __2782
 51405  	}
 51406  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51407  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51408  		goto __2783
 51409  	}
 51410  	return -2
 51411  __2783:
 51412  	;
 51413  __2782:
 51414  	;
 51415  
 51416  	goto __2780
 51417  __2781:
 51418  	;
 51419  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51420  	if !(fc >= 0xc0) {
 51421  		goto __2784
 51422  	}
 51423  	if !(fc&0x20 == Tuint32_t(0)) {
 51424  		goto __2785
 51425  	}
 51426  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51427  	len23++
 51428  	goto __2786
 51429  __2785:
 51430  	if !(fc&0x10 == Tuint32_t(0)) {
 51431  		goto __2787
 51432  	}
 51433  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51434  	len23 = len23 + 2
 51435  	goto __2788
 51436  __2787:
 51437  	if !(fc&0x08 == Tuint32_t(0)) {
 51438  		goto __2789
 51439  	}
 51440  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51441  	len23 = len23 + 3
 51442  	goto __2790
 51443  __2789:
 51444  	if !(fc&0x04 == Tuint32_t(0)) {
 51445  		goto __2791
 51446  	}
 51447  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51448  	len23 = len23 + 4
 51449  	goto __2792
 51450  __2791:
 51451  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51452  	len23 = len23 + 5
 51453  __2792:
 51454  	;
 51455  __2790:
 51456  	;
 51457  __2788:
 51458  	;
 51459  __2786:
 51460  	;
 51461  __2784:
 51462  	;
 51463  
 51464  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 51465  		goto __2793
 51466  	}
 51467  	goto __2780
 51468  __2793:
 51469  	;
 51470  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len23)
 51471  	goto __2779
 51472  __2779:
 51473  	i++
 51474  	goto __2778
 51475  	goto __2780
 51476  __2780:
 51477  	;
 51478  	goto __2605
 51479  
 51480  __2618:
 51481  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51482  __2794:
 51483  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51484  		goto __2796
 51485  	}
 51486  
 51487  	len24 = 1
 51488  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51489  		goto __2797
 51490  	}
 51491  
 51492  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51493  		goto __2798
 51494  	}
 51495  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51496  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51497  		goto __2799
 51498  	}
 51499  	return -2
 51500  __2799:
 51501  	;
 51502  __2798:
 51503  	;
 51504  
 51505  	goto __2796
 51506  __2797:
 51507  	;
 51508  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51509  	if !(fc >= 0xc0) {
 51510  		goto __2800
 51511  	}
 51512  	if !(fc&0x20 == Tuint32_t(0)) {
 51513  		goto __2801
 51514  	}
 51515  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51516  	len24++
 51517  	goto __2802
 51518  __2801:
 51519  	if !(fc&0x10 == Tuint32_t(0)) {
 51520  		goto __2803
 51521  	}
 51522  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51523  	len24 = len24 + 2
 51524  	goto __2804
 51525  __2803:
 51526  	if !(fc&0x08 == Tuint32_t(0)) {
 51527  		goto __2805
 51528  	}
 51529  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51530  	len24 = len24 + 3
 51531  	goto __2806
 51532  __2805:
 51533  	if !(fc&0x04 == Tuint32_t(0)) {
 51534  		goto __2807
 51535  	}
 51536  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51537  	len24 = len24 + 4
 51538  	goto __2808
 51539  __2807:
 51540  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51541  	len24 = len24 + 5
 51542  __2808:
 51543  	;
 51544  __2806:
 51545  	;
 51546  __2804:
 51547  	;
 51548  __2802:
 51549  	;
 51550  __2800:
 51551  	;
 51552  
 51553  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 51554  		goto __2809
 51555  	}
 51556  	goto __2796
 51557  __2809:
 51558  	;
 51559  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len24)
 51560  	goto __2795
 51561  __2795:
 51562  	i++
 51563  	goto __2794
 51564  	goto __2796
 51565  __2796:
 51566  	;
 51567  	goto __2605
 51568  
 51569  __2619:
 51570  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51571  __2810:
 51572  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51573  		goto __2812
 51574  	}
 51575  
 51576  	len25 = 1
 51577  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51578  		goto __2813
 51579  	}
 51580  
 51581  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51582  		goto __2814
 51583  	}
 51584  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51585  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51586  		goto __2815
 51587  	}
 51588  	return -2
 51589  __2815:
 51590  	;
 51591  __2814:
 51592  	;
 51593  
 51594  	goto __2812
 51595  __2813:
 51596  	;
 51597  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51598  	if !(fc >= 0xc0) {
 51599  		goto __2816
 51600  	}
 51601  	if !(fc&0x20 == Tuint32_t(0)) {
 51602  		goto __2817
 51603  	}
 51604  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51605  	len25++
 51606  	goto __2818
 51607  __2817:
 51608  	if !(fc&0x10 == Tuint32_t(0)) {
 51609  		goto __2819
 51610  	}
 51611  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51612  	len25 = len25 + 2
 51613  	goto __2820
 51614  __2819:
 51615  	if !(fc&0x08 == Tuint32_t(0)) {
 51616  		goto __2821
 51617  	}
 51618  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51619  	len25 = len25 + 3
 51620  	goto __2822
 51621  __2821:
 51622  	if !(fc&0x04 == Tuint32_t(0)) {
 51623  		goto __2823
 51624  	}
 51625  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51626  	len25 = len25 + 4
 51627  	goto __2824
 51628  __2823:
 51629  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51630  	len25 = len25 + 5
 51631  __2824:
 51632  	;
 51633  __2822:
 51634  	;
 51635  __2820:
 51636  	;
 51637  __2818:
 51638  	;
 51639  __2816:
 51640  	;
 51641  
 51642  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 51643  		goto __2825
 51644  	}
 51645  	goto __2812
 51646  __2825:
 51647  	;
 51648  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len25)
 51649  	goto __2811
 51650  __2811:
 51651  	i++
 51652  	goto __2810
 51653  	goto __2812
 51654  __2812:
 51655  	;
 51656  	goto __2605
 51657  
 51658  __2620:
 51659  	return -44
 51660  __2605:
 51661  	;
 51662  
 51663  	if !(reptype == REPTYPE_POS) {
 51664  		goto __2826
 51665  	}
 51666  	goto __11
 51667  __2826:
 51668  	; // No backtracking
 51669  
 51670  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 51671  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't go
 51672  	//         too far.
 51673  
 51674  __2827:
 51675  
 51676  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 51677  		goto __2830
 51678  	}
 51679  	goto __2829
 51680  __2830:
 51681  	;
 51682  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 51683  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM221
 51684  	goto MATCH_RECURSE
 51685  L_RM221:
 51686  	;
 51687  
 51688  	if !(rrc != DMATCH_NOMATCH) {
 51689  		goto __2831
 51690  	}
 51691  	rrc = rrc
 51692  	goto RETURN_SWITCH
 51693  __2831:
 51694  	;
 51695  
 51696  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51697  __2832:
 51698  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 51699  		goto __2833
 51700  	}
 51701  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51702  	goto __2832
 51703  __2833:
 51704  	;
 51705  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)))) == '\015') {
 51706  		goto __2834
 51707  	}
 51708  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51709  __2834:
 51710  	;
 51711  	goto __2828
 51712  __2828:
 51713  	goto __2827
 51714  	goto __2829
 51715  __2829:
 51716  	;
 51717  	goto __2604
 51718  __2603:
 51719  
 51720  	/* Not UTF mode */
 51721  
 51722  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 51723  	case OP_ANY:
 51724  		goto __2836
 51725  
 51726  	case OP_ALLANY:
 51727  		goto __2837
 51728  	case OP_ANYBYTE:
 51729  		goto __2838
 51730  
 51731  	case OP_ANYNL:
 51732  		goto __2839
 51733  
 51734  	case OP_NOT_HSPACE:
 51735  		goto __2840
 51736  
 51737  	case OP_HSPACE:
 51738  		goto __2841
 51739  
 51740  	case OP_NOT_VSPACE:
 51741  		goto __2842
 51742  
 51743  	case OP_VSPACE:
 51744  		goto __2843
 51745  
 51746  	case OP_NOT_DIGIT:
 51747  		goto __2844
 51748  
 51749  	case OP_DIGIT:
 51750  		goto __2845
 51751  
 51752  	case OP_NOT_WHITESPACE:
 51753  		goto __2846
 51754  
 51755  	case OP_WHITESPACE:
 51756  		goto __2847
 51757  
 51758  	case OP_NOT_WORDCHAR:
 51759  		goto __2848
 51760  
 51761  	case OP_WORDCHAR:
 51762  		goto __2849
 51763  
 51764  	default:
 51765  		goto __2850
 51766  	}
 51767  	goto __2835
 51768  
 51769  __2836:
 51770  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51771  __2851:
 51772  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51773  		goto __2853
 51774  	}
 51775  
 51776  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51777  		goto __2854
 51778  	}
 51779  
 51780  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51781  		goto __2855
 51782  	}
 51783  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51784  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51785  		goto __2856
 51786  	}
 51787  	return -2
 51788  __2856:
 51789  	;
 51790  __2855:
 51791  	;
 51792  
 51793  	goto __2853
 51794  __2854:
 51795  	;
 51796  	if !(func() int32 {
 51797  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 51798  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 51799  		}
 51800  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 51801  	}() != 0) {
 51802  		goto __2857
 51803  	}
 51804  	goto __2853
 51805  __2857:
 51806  	;
 51807  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 51808  		goto __2858
 51809  	}
 51810  
 51811  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51812  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51813  		goto __2859
 51814  	}
 51815  	return -2
 51816  __2859:
 51817  	;
 51818  __2858:
 51819  	;
 51820  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51821  	goto __2852
 51822  __2852:
 51823  	i++
 51824  	goto __2851
 51825  	goto __2853
 51826  __2853:
 51827  	;
 51828  	goto __2835
 51829  
 51830  __2837:
 51831  __2838:
 51832  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51833  	if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 51834  		goto __2860
 51835  	}
 51836  
 51837  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 51838  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51839  		goto __2862
 51840  	}
 51841  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51842  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51843  		goto __2863
 51844  	}
 51845  	return -2
 51846  __2863:
 51847  	;
 51848  __2862:
 51849  	;
 51850  
 51851  	goto __2861
 51852  __2860:
 51853  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc)
 51854  __2861:
 51855  	;
 51856  	goto __2835
 51857  
 51858  __2839:
 51859  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51860  __2864:
 51861  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51862  		goto __2866
 51863  	}
 51864  
 51865  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51866  		goto __2867
 51867  	}
 51868  
 51869  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51870  		goto __2868
 51871  	}
 51872  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51873  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51874  		goto __2869
 51875  	}
 51876  	return -2
 51877  __2869:
 51878  	;
 51879  __2868:
 51880  	;
 51881  
 51882  	goto __2866
 51883  __2867:
 51884  	;
 51885  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51886  	if !(fc == Tuint32_t('\015')) {
 51887  		goto __2870
 51888  	}
 51889  
 51890  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51891  		goto __2872
 51892  	}
 51893  	goto __2866
 51894  __2872:
 51895  	;
 51896  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 51897  		goto __2873
 51898  	}
 51899  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51900  __2873:
 51901  	;
 51902  	goto __2871
 51903  __2870:
 51904  
 51905  	if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != libc.Uint32FromUint8(libc.Uint8FromInt32(133)))) {
 51906  		goto __2874
 51907  	}
 51908  	goto __2866
 51909  __2874:
 51910  	;
 51911  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51912  __2871:
 51913  	;
 51914  	goto __2865
 51915  __2865:
 51916  	i++
 51917  	goto __2864
 51918  	goto __2866
 51919  __2866:
 51920  	;
 51921  	goto __2835
 51922  
 51923  __2840:
 51924  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51925  __2875:
 51926  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51927  		goto __2877
 51928  	}
 51929  
 51930  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51931  		goto __2878
 51932  	}
 51933  
 51934  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51935  		goto __2879
 51936  	}
 51937  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51938  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51939  		goto __2880
 51940  	}
 51941  	return -2
 51942  __2880:
 51943  	;
 51944  __2879:
 51945  	;
 51946  
 51947  	goto __2877
 51948  __2878:
 51949  	;
 51950  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 51951  	default:
 51952  		goto __2882
 51953  	case '\011':
 51954  		goto __2883
 51955  	case '\040':
 51956  		goto __2884
 51957  	case int32(libc.Uint8FromInt32(160)):
 51958  		goto __2885
 51959  	}
 51960  	goto __2881
 51961  
 51962  __2882:
 51963  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51964  	goto __2881
 51965  __2883:
 51966  __2884:
 51967  __2885:
 51968  	goto ENDLOOP00
 51969  __2881:
 51970  	;
 51971  	goto __2876
 51972  __2876:
 51973  	i++
 51974  	goto __2875
 51975  	goto __2877
 51976  __2877:
 51977  	;
 51978  ENDLOOP00:
 51979  	goto __2835
 51980  
 51981  __2841:
 51982  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51983  __2886:
 51984  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51985  		goto __2888
 51986  	}
 51987  
 51988  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51989  		goto __2889
 51990  	}
 51991  
 51992  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51993  		goto __2890
 51994  	}
 51995  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51996  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51997  		goto __2891
 51998  	}
 51999  	return -2
 52000  __2891:
 52001  	;
 52002  __2890:
 52003  	;
 52004  
 52005  	goto __2888
 52006  __2889:
 52007  	;
 52008  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52009  	default:
 52010  		goto __2893
 52011  	case '\011':
 52012  		goto __2894
 52013  	case '\040':
 52014  		goto __2895
 52015  	case int32(libc.Uint8FromInt32(160)):
 52016  		goto __2896
 52017  	}
 52018  	goto __2892
 52019  
 52020  __2893:
 52021  	goto ENDLOOP01
 52022  __2894:
 52023  __2895:
 52024  __2896:
 52025  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52026  	goto __2892
 52027  __2892:
 52028  	;
 52029  	goto __2887
 52030  __2887:
 52031  	i++
 52032  	goto __2886
 52033  	goto __2888
 52034  __2888:
 52035  	;
 52036  ENDLOOP01:
 52037  	goto __2835
 52038  
 52039  __2842:
 52040  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52041  __2897:
 52042  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52043  		goto __2899
 52044  	}
 52045  
 52046  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52047  		goto __2900
 52048  	}
 52049  
 52050  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52051  		goto __2901
 52052  	}
 52053  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52054  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52055  		goto __2902
 52056  	}
 52057  	return -2
 52058  __2902:
 52059  	;
 52060  __2901:
 52061  	;
 52062  
 52063  	goto __2899
 52064  __2900:
 52065  	;
 52066  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52067  	default:
 52068  		goto __2904
 52069  	case '\012':
 52070  		goto __2905
 52071  	case '\013':
 52072  		goto __2906
 52073  	case '\014':
 52074  		goto __2907
 52075  	case '\015':
 52076  		goto __2908
 52077  	case int32(libc.Uint8FromInt32(133)):
 52078  		goto __2909
 52079  	}
 52080  	goto __2903
 52081  
 52082  __2904:
 52083  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52084  	goto __2903
 52085  __2905:
 52086  __2906:
 52087  __2907:
 52088  __2908:
 52089  __2909:
 52090  	goto ENDLOOP02
 52091  __2903:
 52092  	;
 52093  	goto __2898
 52094  __2898:
 52095  	i++
 52096  	goto __2897
 52097  	goto __2899
 52098  __2899:
 52099  	;
 52100  ENDLOOP02:
 52101  	goto __2835
 52102  
 52103  __2843:
 52104  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52105  __2910:
 52106  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52107  		goto __2912
 52108  	}
 52109  
 52110  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52111  		goto __2913
 52112  	}
 52113  
 52114  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52115  		goto __2914
 52116  	}
 52117  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52118  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52119  		goto __2915
 52120  	}
 52121  	return -2
 52122  __2915:
 52123  	;
 52124  __2914:
 52125  	;
 52126  
 52127  	goto __2912
 52128  __2913:
 52129  	;
 52130  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52131  	default:
 52132  		goto __2917
 52133  	case '\012':
 52134  		goto __2918
 52135  	case '\013':
 52136  		goto __2919
 52137  	case '\014':
 52138  		goto __2920
 52139  	case '\015':
 52140  		goto __2921
 52141  	case int32(libc.Uint8FromInt32(133)):
 52142  		goto __2922
 52143  	}
 52144  	goto __2916
 52145  
 52146  __2917:
 52147  	goto ENDLOOP03
 52148  __2918:
 52149  __2919:
 52150  __2920:
 52151  __2921:
 52152  __2922:
 52153  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52154  	goto __2916
 52155  __2916:
 52156  	;
 52157  	goto __2911
 52158  __2911:
 52159  	i++
 52160  	goto __2910
 52161  	goto __2912
 52162  __2912:
 52163  	;
 52164  ENDLOOP03:
 52165  	goto __2835
 52166  
 52167  __2844:
 52168  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52169  __2923:
 52170  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52171  		goto __2925
 52172  	}
 52173  
 52174  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52175  		goto __2926
 52176  	}
 52177  
 52178  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52179  		goto __2927
 52180  	}
 52181  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52182  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52183  		goto __2928
 52184  	}
 52185  	return -2
 52186  __2928:
 52187  	;
 52188  __2927:
 52189  	;
 52190  
 52191  	goto __2925
 52192  __2926:
 52193  	;
 52194  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) {
 52195  		goto __2929
 52196  	}
 52197  	goto __2925
 52198  __2929:
 52199  	;
 52200  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52201  	goto __2924
 52202  __2924:
 52203  	i++
 52204  	goto __2923
 52205  	goto __2925
 52206  __2925:
 52207  	;
 52208  	goto __2835
 52209  
 52210  __2845:
 52211  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52212  __2930:
 52213  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52214  		goto __2932
 52215  	}
 52216  
 52217  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52218  		goto __2933
 52219  	}
 52220  
 52221  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52222  		goto __2934
 52223  	}
 52224  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52225  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52226  		goto __2935
 52227  	}
 52228  	return -2
 52229  __2935:
 52230  	;
 52231  __2934:
 52232  	;
 52233  
 52234  	goto __2932
 52235  __2933:
 52236  	;
 52237  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) {
 52238  		goto __2936
 52239  	}
 52240  	goto __2932
 52241  __2936:
 52242  	;
 52243  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52244  	goto __2931
 52245  __2931:
 52246  	i++
 52247  	goto __2930
 52248  	goto __2932
 52249  __2932:
 52250  	;
 52251  	goto __2835
 52252  
 52253  __2846:
 52254  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52255  __2937:
 52256  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52257  		goto __2939
 52258  	}
 52259  
 52260  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52261  		goto __2940
 52262  	}
 52263  
 52264  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52265  		goto __2941
 52266  	}
 52267  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52268  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52269  		goto __2942
 52270  	}
 52271  	return -2
 52272  __2942:
 52273  	;
 52274  __2941:
 52275  	;
 52276  
 52277  	goto __2939
 52278  __2940:
 52279  	;
 52280  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) {
 52281  		goto __2943
 52282  	}
 52283  	goto __2939
 52284  __2943:
 52285  	;
 52286  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52287  	goto __2938
 52288  __2938:
 52289  	i++
 52290  	goto __2937
 52291  	goto __2939
 52292  __2939:
 52293  	;
 52294  	goto __2835
 52295  
 52296  __2847:
 52297  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52298  __2944:
 52299  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52300  		goto __2946
 52301  	}
 52302  
 52303  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52304  		goto __2947
 52305  	}
 52306  
 52307  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52308  		goto __2948
 52309  	}
 52310  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52311  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52312  		goto __2949
 52313  	}
 52314  	return -2
 52315  __2949:
 52316  	;
 52317  __2948:
 52318  	;
 52319  
 52320  	goto __2946
 52321  __2947:
 52322  	;
 52323  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) {
 52324  		goto __2950
 52325  	}
 52326  	goto __2946
 52327  __2950:
 52328  	;
 52329  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52330  	goto __2945
 52331  __2945:
 52332  	i++
 52333  	goto __2944
 52334  	goto __2946
 52335  __2946:
 52336  	;
 52337  	goto __2835
 52338  
 52339  __2848:
 52340  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52341  __2951:
 52342  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52343  		goto __2953
 52344  	}
 52345  
 52346  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52347  		goto __2954
 52348  	}
 52349  
 52350  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52351  		goto __2955
 52352  	}
 52353  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52354  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52355  		goto __2956
 52356  	}
 52357  	return -2
 52358  __2956:
 52359  	;
 52360  __2955:
 52361  	;
 52362  
 52363  	goto __2953
 52364  __2954:
 52365  	;
 52366  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) {
 52367  		goto __2957
 52368  	}
 52369  	goto __2953
 52370  __2957:
 52371  	;
 52372  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52373  	goto __2952
 52374  __2952:
 52375  	i++
 52376  	goto __2951
 52377  	goto __2953
 52378  __2953:
 52379  	;
 52380  	goto __2835
 52381  
 52382  __2849:
 52383  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52384  __2958:
 52385  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52386  		goto __2960
 52387  	}
 52388  
 52389  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52390  		goto __2961
 52391  	}
 52392  
 52393  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52394  		goto __2962
 52395  	}
 52396  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52397  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52398  		goto __2963
 52399  	}
 52400  	return -2
 52401  __2963:
 52402  	;
 52403  __2962:
 52404  	;
 52405  
 52406  	goto __2960
 52407  __2961:
 52408  	;
 52409  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) {
 52410  		goto __2964
 52411  	}
 52412  	goto __2960
 52413  __2964:
 52414  	;
 52415  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52416  	goto __2959
 52417  __2959:
 52418  	i++
 52419  	goto __2958
 52420  	goto __2960
 52421  __2960:
 52422  	;
 52423  	goto __2835
 52424  
 52425  __2850:
 52426  	return -44
 52427  __2835:
 52428  	;
 52429  
 52430  	if !(reptype == REPTYPE_POS) {
 52431  		goto __2965
 52432  	}
 52433  	goto __11
 52434  __2965:
 52435  	; // No backtracking
 52436  
 52437  __2966:
 52438  
 52439  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52440  		goto __2969
 52441  	}
 52442  	goto __2968
 52443  __2969:
 52444  	;
 52445  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52446  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM34
 52447  	goto MATCH_RECURSE
 52448  L_RM34:
 52449  	;
 52450  
 52451  	if !(rrc != DMATCH_NOMATCH) {
 52452  		goto __2970
 52453  	}
 52454  	rrc = rrc
 52455  	goto RETURN_SWITCH
 52456  __2970:
 52457  	;
 52458  
 52459  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52460  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + libc.UintptrFromInt32(-1)))) == '\015') {
 52461  		goto __2971
 52462  	}
 52463  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52464  __2971:
 52465  	;
 52466  	goto __2967
 52467  __2967:
 52468  	goto __2966
 52469  	goto __2968
 52470  __2968:
 52471  	;
 52472  __2604:
 52473  	;
 52474  __2546:
 52475  	;
 52476  __2274:
 52477  	;
 52478  __1781:
 52479  	;
 52480  	goto __13 // End of repeat character type processing
 52481  
 52482  	// =====================================================================
 52483  	// Match a back reference, possibly repeatedly. Look past the end of the
 52484  	//     item to see if there is repeat information following. The OP_REF and
 52485  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 52486  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 52487  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 52488  	//     the name refers, and use the first one that is set.
 52489  
 52490  __107:
 52491  __108:
 52492  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_DNREFI))
 52493  
 52494  	count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 52495  	slot = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 52496  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52497  
 52498  __2972:
 52499  	if !(libc.PostDecInt32(&count, 1) > 0) {
 52500  		goto __2973
 52501  	}
 52502  
 52503  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))<<1 - uint32(2))
 52504  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) {
 52505  		goto __2974
 52506  	}
 52507  	goto __2973
 52508  __2974:
 52509  	;
 52510  	slot += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 52511  	goto __2972
 52512  __2973:
 52513  	;
 52514  
 52515  	goto REF_REPEAT
 52516  
 52517  __109:
 52518  __110:
 52519  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_REFI))
 52520  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2))
 52521  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 52522  
 52523  	// Set up for repetition, or handle the non-repeated case. The maximum and
 52524  	//     minimum must be in the heap frame, but as they are short-term values, we
 52525  	//     use temporary fields.
 52526  
 52527  REF_REPEAT:
 52528  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 52529  	case OP_CRSTAR:
 52530  		goto __2976
 52531  	case OP_CRMINSTAR:
 52532  		goto __2977
 52533  	case OP_CRPLUS:
 52534  		goto __2978
 52535  	case OP_CRMINPLUS:
 52536  		goto __2979
 52537  	case OP_CRQUERY:
 52538  		goto __2980
 52539  	case OP_CRMINQUERY:
 52540  		goto __2981
 52541  
 52542  	case OP_CRRANGE:
 52543  		goto __2982
 52544  	case OP_CRMINRANGE:
 52545  		goto __2983
 52546  
 52547  	default:
 52548  		goto __2984
 52549  	}
 52550  	goto __2975
 52551  
 52552  __2976:
 52553  __2977:
 52554  __2978:
 52555  __2979:
 52556  __2980:
 52557  __2981:
 52558  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 52559  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 52560  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 52561  	reptype = rep_typ[fc]
 52562  	goto __2975
 52563  
 52564  __2982:
 52565  __2983:
 52566  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 52567  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 52568  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 52569  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 52570  		goto __2985
 52571  	}
 52572  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 52573  __2985:
 52574  	; // Max 0 => infinity
 52575  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52576  	goto __2975
 52577  
 52578  __2984: /* No repeat follows */
 52579  
 52580  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp)
 52581  	if !(rrc != 0) {
 52582  		goto __2986
 52583  	}
 52584  
 52585  	if !(rrc > 0) {
 52586  		goto __2987
 52587  	}
 52588  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52589  __2987:
 52590  	; // Partial match
 52591  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52592  		goto __2988
 52593  	}
 52594  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52595  		goto __2989
 52596  	}
 52597  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52598  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52599  		goto __2990
 52600  	}
 52601  	return -2
 52602  __2990:
 52603  	;
 52604  __2989:
 52605  	;
 52606  __2988:
 52607  	;
 52608  
 52609  	rrc = DMATCH_NOMATCH
 52610  	goto RETURN_SWITCH
 52611  
 52612  __2986:
 52613  	;
 52614  
 52615  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 52616  	goto __11 // With the main loop
 52617  __2975:
 52618  	;
 52619  
 52620  	// Handle repeated back references. If a set group has length zero, just
 52621  	//     continue with the main loop, because it matches however many times. For an
 52622  	//     unset reference, if the minimum is zero, we can also just continue. We can
 52623  	//     also continue if PCRE2_MATCH_UNSET_BACKREF is set, because this makes unset
 52624  	//     group behave as a zero-length group. For any other unset cases, carrying
 52625  	//     on will result in NOMATCH.
 52626  
 52627  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) {
 52628  		goto __2991
 52629  	}
 52630  
 52631  	if !(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) == *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8))) {
 52632  		goto __2993
 52633  	}
 52634  	goto __11
 52635  __2993:
 52636  	;
 52637  	goto __2992
 52638  __2991: /* Group is not set */
 52639  
 52640  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 52641  		goto __2994
 52642  	}
 52643  	goto __11
 52644  __2994:
 52645  	;
 52646  __2992:
 52647  	;
 52648  
 52649  	// First, ensure the minimum number of matches are present.
 52650  
 52651  	i = Tuint32_t(1)
 52652  __2995:
 52653  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 52654  		goto __2997
 52655  	}
 52656  
 52657  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+8)
 52658  	if !(rrc != 0) {
 52659  		goto __2998
 52660  	}
 52661  
 52662  	if !(rrc > 0) {
 52663  		goto __2999
 52664  	}
 52665  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52666  __2999:
 52667  	; // Partial match
 52668  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52669  		goto __3000
 52670  	}
 52671  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52672  		goto __3001
 52673  	}
 52674  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52675  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52676  		goto __3002
 52677  	}
 52678  	return -2
 52679  __3002:
 52680  	;
 52681  __3001:
 52682  	;
 52683  __3000:
 52684  	;
 52685  
 52686  	rrc = DMATCH_NOMATCH
 52687  	goto RETURN_SWITCH
 52688  
 52689  __2998:
 52690  	;
 52691  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 8)))
 52692  	goto __2996
 52693  __2996:
 52694  	i++
 52695  	goto __2995
 52696  	goto __2997
 52697  __2997:
 52698  	;
 52699  
 52700  	// If min = max, we are done. They are not both allowed to be zero.
 52701  
 52702  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52703  		goto __3003
 52704  	}
 52705  	goto __11
 52706  __3003:
 52707  	;
 52708  
 52709  	// If minimizing, keep trying and advancing the pointer.
 52710  
 52711  	if !(reptype == REPTYPE_MIN) {
 52712  		goto __3004
 52713  	}
 52714  
 52715  __3006:
 52716  
 52717  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52718  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM20
 52719  	goto MATCH_RECURSE
 52720  L_RM20:
 52721  	;
 52722  
 52723  	if !(rrc != DMATCH_NOMATCH) {
 52724  		goto __3009
 52725  	}
 52726  	rrc = rrc
 52727  	goto RETURN_SWITCH
 52728  __3009:
 52729  	;
 52730  
 52731  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52732  		goto __3010
 52733  	}
 52734  	rrc = DMATCH_NOMATCH
 52735  	goto RETURN_SWITCH
 52736  __3010:
 52737  	;
 52738  
 52739  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+16)
 52740  	if !(rrc != 0) {
 52741  		goto __3011
 52742  	}
 52743  
 52744  	if !(rrc > 0) {
 52745  		goto __3012
 52746  	}
 52747  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52748  __3012:
 52749  	; // Partial match
 52750  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52751  		goto __3013
 52752  	}
 52753  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52754  		goto __3014
 52755  	}
 52756  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52757  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52758  		goto __3015
 52759  	}
 52760  	return -2
 52761  __3015:
 52762  	;
 52763  __3014:
 52764  	;
 52765  __3013:
 52766  	;
 52767  
 52768  	rrc = DMATCH_NOMATCH
 52769  	goto RETURN_SWITCH
 52770  
 52771  __3011:
 52772  	;
 52773  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 16)))
 52774  	goto __3007
 52775  __3007:
 52776  	goto __3006
 52777  	goto __3008
 52778  __3008:
 52779  	;
 52780  	// Control never gets here
 52781  	goto __3005
 52782  __3004:
 52783  	samelengths = DTRUE
 52784  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Starting position
 52785  	(*Theapframe)(unsafe.Pointer(F)).Flength = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8))
 52786  
 52787  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52788  __3016:
 52789  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52790  		goto __3018
 52791  	}
 52792  
 52793  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+24)
 52794  	if !(rrc != 0) {
 52795  		goto __3019
 52796  	}
 52797  
 52798  	// Can't use CHECK_PARTIAL because we don't want to update Feptr in
 52799  	//           the soft partial matching case.
 52800  
 52801  	if !(rrc > 0 && int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 52802  		goto __3020
 52803  	}
 52804  
 52805  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52806  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52807  		goto __3021
 52808  	}
 52809  	return -2
 52810  __3021:
 52811  	;
 52812  __3020:
 52813  	;
 52814  	goto __3018
 52815  __3019:
 52816  	;
 52817  
 52818  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 24)) != (*Theapframe)(unsafe.Pointer(F)).Flength) {
 52819  		goto __3022
 52820  	}
 52821  	samelengths = DFALSE
 52822  __3022:
 52823  	;
 52824  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24)))
 52825  	goto __3017
 52826  __3017:
 52827  	i++
 52828  	goto __3016
 52829  	goto __3018
 52830  __3018:
 52831  	;
 52832  
 52833  	// If the length matched for each repetition is the same as the length of
 52834  	//       the captured group, we can easily work backwards. This is the normal
 52835  	//       case. However, in caseless UTF-8 mode there are pairs of case-equivalent
 52836  	//       characters whose lengths (in terms of code units) differ. However, this
 52837  	//       is very rare, so we handle it by re-matching fewer and fewer times.
 52838  
 52839  	if !(samelengths != 0) {
 52840  		goto __3023
 52841  	}
 52842  
 52843  __3025:
 52844  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52845  		goto __3026
 52846  	}
 52847  
 52848  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52849  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM21
 52850  	goto MATCH_RECURSE
 52851  L_RM21:
 52852  	;
 52853  
 52854  	if !(rrc != DMATCH_NOMATCH) {
 52855  		goto __3027
 52856  	}
 52857  	rrc = rrc
 52858  	goto RETURN_SWITCH
 52859  __3027:
 52860  	;
 52861  
 52862  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 52863  	goto __3025
 52864  __3026:
 52865  	;
 52866  	goto __3024
 52867  __3023:
 52868  
 52869  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = i
 52870  __3028:
 52871  
 52872  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52873  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM22
 52874  	goto MATCH_RECURSE
 52875  L_RM22:
 52876  	;
 52877  
 52878  	if !(rrc != DMATCH_NOMATCH) {
 52879  		goto __3031
 52880  	}
 52881  	rrc = rrc
 52882  	goto RETURN_SWITCH
 52883  __3031:
 52884  	;
 52885  
 52886  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52887  		goto __3032
 52888  	}
 52889  	goto __3030
 52890  __3032:
 52891  	; // Failed after minimal repetition
 52892  	(*Theapframe)(unsafe.Pointer(F)).Feptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 52893  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))--
 52894  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52895  __3033:
 52896  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52897  		goto __3035
 52898  	}
 52899  
 52900  	match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+32)
 52901  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 32)))
 52902  	goto __3034
 52903  __3034:
 52904  	i++
 52905  	goto __3033
 52906  	goto __3035
 52907  __3035:
 52908  	;
 52909  	goto __3029
 52910  __3029:
 52911  	goto __3028
 52912  	goto __3030
 52913  __3030:
 52914  	;
 52915  __3024:
 52916  	;
 52917  
 52918  	rrc = DMATCH_NOMATCH
 52919  	goto RETURN_SWITCH
 52920  
 52921  __3005:
 52922  	;
 52923  	// Control never gets here
 52924  
 52925  	// =========================================================================
 52926  	//           Opcodes for the start of various parenthesized items
 52927  	// =========================================================================
 52928  
 52929  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 52930  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 52931  	//     that is passed back with the end of the branch. If (*THEN) is within the
 52932  	//     current branch, and the branch is one of two or more alternatives (it
 52933  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 52934  	//     action, so convert the return code to NOMATCH, which will cause normal
 52935  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 52936  	//     outer alternative. This implements Perl's treatment of parenthesized
 52937  	//     groups, where a group not containing | does not affect the current
 52938  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 52939  
 52940  	// =====================================================================
 52941  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 52942  	//     bracket group, indicating that it may occur zero times. It may repeat
 52943  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 52944  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 52945  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 52946  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 52947  
 52948  __111:
 52949  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52950  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 52951  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM9
 52952  	goto MATCH_RECURSE
 52953  L_RM9:
 52954  	;
 52955  
 52956  	if !(rrc != DMATCH_NOMATCH) {
 52957  		goto __3036
 52958  	}
 52959  	rrc = rrc
 52960  	goto RETURN_SWITCH
 52961  __3036:
 52962  	;
 52963  
 52964  __3037:
 52965  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 52966  	goto __3038
 52967  __3038:
 52968  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT {
 52969  		goto __3037
 52970  	}
 52971  	goto __3039
 52972  __3039:
 52973  	;
 52974  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE)
 52975  	goto __13
 52976  
 52977  __112:
 52978  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52979  __3040:
 52980  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 52981  	goto __3041
 52982  __3041:
 52983  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT {
 52984  		goto __3040
 52985  	}
 52986  	goto __3042
 52987  __3042:
 52988  	;
 52989  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE)
 52990  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM10
 52991  	goto MATCH_RECURSE
 52992  L_RM10:
 52993  	;
 52994  
 52995  	if !(rrc != DMATCH_NOMATCH) {
 52996  		goto __3043
 52997  	}
 52998  	rrc = rrc
 52999  	goto RETURN_SWITCH
 53000  __3043:
 53001  	;
 53002  
 53003  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 53004  	goto __13
 53005  
 53006  __113:
 53007  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 53008  __3044:
 53009  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53010  	goto __3045
 53011  __3045:
 53012  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53013  		goto __3044
 53014  	}
 53015  	goto __3046
 53016  __3046:
 53017  	;
 53018  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53019  	goto __13
 53020  
 53021  	// =====================================================================
 53022  	// Handle possessive brackets with an unlimited repeat. The end of these
 53023  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 53024  	//     going further in the pattern.
 53025  
 53026  __114:
 53027  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DTRUE) // Zero repeat is allowed
 53028  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(1)
 53029  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_SCBRAPOS) {
 53030  		goto __3047
 53031  	}
 53032  	goto POSSESSIVE_CAPTURE
 53033  __3047:
 53034  	;
 53035  	goto POSSESSIVE_NON_CAPTURE
 53036  
 53037  __115:
 53038  __116:
 53039  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53040  
 53041  POSSESSIVE_NON_CAPTURE:
 53042  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE // Remembered frame type
 53043  	goto POSSESSIVE_GROUP
 53044  
 53045  __117:
 53046  __118:
 53047  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53048  
 53049  POSSESSIVE_CAPTURE:
 53050  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 53051  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | number // Remembered frame type
 53052  
 53053  POSSESSIVE_GROUP:
 53054  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DFALSE)                         // Never matched
 53055  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode // Start of this group
 53056  
 53057  __3048:
 53058  
 53059  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Position at group start
 53060  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53061  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53062  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM8
 53063  	goto MATCH_RECURSE
 53064  L_RM8:
 53065  	;
 53066  
 53067  	if !(rrc == -998) {
 53068  		goto __3051
 53069  	}
 53070  
 53071  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DTRUE) // Matched at least once
 53072  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 53073  		goto __3052
 53074  	} /* Empty match; skip to end */
 53075  
 53076  __3053:
 53077  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53078  	goto __3054
 53079  __3054:
 53080  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53081  		goto __3053
 53082  	}
 53083  	goto __3055
 53084  __3055:
 53085  	;
 53086  	goto __3050
 53087  __3052:
 53088  	;
 53089  
 53090  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8))
 53091  	goto __3049
 53092  __3051:
 53093  	;
 53094  
 53095  	// See comment above about handling THEN.
 53096  
 53097  	if !(rrc == -993) {
 53098  		goto __3056
 53099  	}
 53100  
 53101  	next_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53102  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode))) == OP_ALT)) {
 53103  		goto __3057
 53104  	}
 53105  	rrc = DMATCH_NOMATCH
 53106  __3057:
 53107  	;
 53108  __3056:
 53109  	;
 53110  
 53111  	if !(rrc != DMATCH_NOMATCH) {
 53112  		goto __3058
 53113  	}
 53114  	rrc = rrc
 53115  	goto RETURN_SWITCH
 53116  __3058:
 53117  	;
 53118  
 53119  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53120  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53121  		goto __3059
 53122  	}
 53123  	goto __3050
 53124  __3059:
 53125  	;
 53126  	goto __3049
 53127  __3049:
 53128  	goto __3048
 53129  	goto __3050
 53130  __3050:
 53131  	;
 53132  
 53133  	// Success if matched something or zero repeat allowed
 53134  
 53135  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) != 0 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != 0) {
 53136  		goto __3060
 53137  	}
 53138  
 53139  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53140  	goto __13
 53141  __3060:
 53142  	;
 53143  
 53144  	rrc = DMATCH_NOMATCH
 53145  	goto RETURN_SWITCH
 53146  
 53147  	// =====================================================================
 53148  	// Handle non-capturing brackets that cannot match an empty string. When we
 53149  	//     get to the final alternative within the brackets, as long as there are no
 53150  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 53151  	//     point. (Ideally we should test for a THEN within this group, but we don't
 53152  	//     have that information.) Don't do this if we are at the very top level,
 53153  	//     however, because that would make handling assertions and once-only brackets
 53154  	//     messier when there is nothing to go back to.
 53155  
 53156  __119:
 53157  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen != 0 || (*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 53158  		goto __3061
 53159  	}
 53160  
 53161  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 53162  	goto GROUPLOOP
 53163  __3061:
 53164  	;
 53165  
 53166  __3062:
 53167  
 53168  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53169  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) {
 53170  		goto __3065
 53171  	}
 53172  	goto __3064
 53173  __3065:
 53174  	;
 53175  
 53176  	/* This is never the final branch. We do not need to test for MATCH_THEN
 53177  	   here because this code is not used when there is a THEN in the pattern. */
 53178  
 53179  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53180  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM1
 53181  	goto MATCH_RECURSE
 53182  L_RM1:
 53183  	;
 53184  
 53185  	if !(rrc != DMATCH_NOMATCH) {
 53186  		goto __3066
 53187  	}
 53188  	rrc = rrc
 53189  	goto RETURN_SWITCH
 53190  __3066:
 53191  	;
 53192  
 53193  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 53194  	goto __3063
 53195  __3063:
 53196  	goto __3062
 53197  	goto __3064
 53198  __3064:
 53199  	;
 53200  
 53201  	// Hit the start of the final branch. Continue at this level.
 53202  
 53203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53204  	goto __13
 53205  
 53206  	// =====================================================================
 53207  	// Handle a capturing bracket, other than those that are possessive with an
 53208  	//     unlimited repeat.
 53209  
 53210  __120:
 53211  __121:
 53212  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 53213  	goto GROUPLOOP
 53214  
 53215  	// =====================================================================
 53216  	// Atomic groups and non-capturing brackets that can match an empty string
 53217  	//     must record a backtracking point and also set up a chained frame.
 53218  
 53219  __122:
 53220  __123:
 53221  __124:
 53222  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53223  
 53224  GROUPLOOP:
 53225  __3067:
 53226  
 53227  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53228  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53229  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM2
 53230  	goto MATCH_RECURSE
 53231  L_RM2:
 53232  	;
 53233  
 53234  	if !(rrc == -993) {
 53235  		goto __3070
 53236  	}
 53237  
 53238  	next_ecode1 = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53239  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode1 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode1))) == OP_ALT)) {
 53240  		goto __3071
 53241  	}
 53242  	rrc = DMATCH_NOMATCH
 53243  __3071:
 53244  	;
 53245  __3070:
 53246  	;
 53247  	if !(rrc != DMATCH_NOMATCH) {
 53248  		goto __3072
 53249  	}
 53250  	rrc = rrc
 53251  	goto RETURN_SWITCH
 53252  __3072:
 53253  	;
 53254  
 53255  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53256  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53257  		goto __3073
 53258  	}
 53259  	rrc = DMATCH_NOMATCH
 53260  	goto RETURN_SWITCH
 53261  __3073:
 53262  	;
 53263  
 53264  	goto __3068
 53265  __3068:
 53266  	goto __3067
 53267  	goto __3069
 53268  __3069:
 53269  	;
 53270  	// Control never reaches here.
 53271  
 53272  	// =====================================================================
 53273  	// Recursion either matches the current regex, or some subexpression. The
 53274  	//     offset data is the offset to the starting bracket from the start of the
 53275  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 53276  
 53277  __125:
 53278  	bracode = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53279  	if bracode == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code {
 53280  		number = uint32(0)
 53281  	} else {
 53282  		number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 53283  	}
 53284  
 53285  	// If we are already in a recursion, check for repeating the same one
 53286  	//     without advancing the subject pointer. This should catch convoluted mutual
 53287  	//     recursions. (Some simple cases are caught at compile time.)
 53288  
 53289  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53290  		goto __3074
 53291  	}
 53292  
 53293  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 53294  __3075:
 53295  	if !(offset != libc.CplUint64(uint64(0))) {
 53296  		goto __3076
 53297  	}
 53298  
 53299  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 53300  	P = N - uintptr(frame_size)
 53301  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_RECURSE|number) {
 53302  		goto __3077
 53303  	}
 53304  
 53305  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(P)).Feptr) {
 53306  		goto __3078
 53307  	}
 53308  	return -52
 53309  __3078:
 53310  	;
 53311  	goto __3076
 53312  __3077:
 53313  	;
 53314  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 53315  	goto __3075
 53316  __3076:
 53317  	;
 53318  __3074:
 53319  	;
 53320  
 53321  	// Now run the recursion, branch by branch.
 53322  
 53323  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = bracode
 53324  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_RECURSE | number
 53325  
 53326  __3079:
 53327  
 53328  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53329  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))])
 53330  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM11
 53331  	goto MATCH_RECURSE
 53332  L_RM11:
 53333  	;
 53334  
 53335  	next_ecode2 = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 53336  
 53337  	// Handle backtracking verbs, which are defined in a range that can
 53338  	//       easily be tested for. PCRE does not allow THEN, SKIP, PRUNE or COMMIT to
 53339  	//       escape beyond a recursion; they cause a NOMATCH for the entire recursion.
 53340  	//
 53341  	//       When one of these verbs triggers, the current recursion group number is
 53342  	//       recorded. If it matches the recursion we are processing, the verb
 53343  	//       happened within the recursion and we must deal with it. Otherwise it must
 53344  	//       have happened after the recursion completed, and so has to be passed
 53345  	//       back. See comment above about handling THEN.
 53346  
 53347  	if !(rrc >= -997 && rrc <= -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse == *(*Tuint32_t)(unsafe.Pointer(F + 56))^DGF_RECURSE) {
 53348  		goto __3082
 53349  	}
 53350  
 53351  	if !(rrc == -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode2 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode2))) == OP_ALT)) {
 53352  		goto __3083
 53353  	}
 53354  	rrc = DMATCH_NOMATCH
 53355  	goto __3084
 53356  __3083:
 53357  	rrc = DMATCH_NOMATCH
 53358  	goto RETURN_SWITCH
 53359  __3084:
 53360  	;
 53361  
 53362  __3082:
 53363  	;
 53364  
 53365  	// Note that carrying on after (*ACCEPT) in a recursion is handled in the
 53366  	//       OP_ACCEPT code. Nothing needs to be done here.
 53367  
 53368  	if !(rrc != DMATCH_NOMATCH) {
 53369  		goto __3085
 53370  	}
 53371  	rrc = rrc
 53372  	goto RETURN_SWITCH
 53373  __3085:
 53374  	;
 53375  
 53376  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = next_ecode2
 53377  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) {
 53378  		goto __3086
 53379  	}
 53380  	rrc = DMATCH_NOMATCH
 53381  	goto RETURN_SWITCH
 53382  __3086:
 53383  	;
 53384  
 53385  	goto __3080
 53386  __3080:
 53387  	goto __3079
 53388  	goto __3081
 53389  __3081:
 53390  	;
 53391  	// Control never reaches here.
 53392  
 53393  	// =====================================================================
 53394  	// Positive assertions are like other groups except that PCRE doesn't allow
 53395  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 53396  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 53397  	//     captures and mark retained. Any other return is an error.
 53398  
 53399  __126:
 53400  __127:
 53401  __128:
 53402  __129:
 53403  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53404  __3087:
 53405  
 53406  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53407  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53408  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM3
 53409  	goto MATCH_RECURSE
 53410  L_RM3:
 53411  	;
 53412  
 53413  	if !(rrc == -999) {
 53414  		goto __3090
 53415  	}
 53416  
 53417  	libc.Xmemcpy(tls, F+128,
 53418  		assert_accept_frame+uintptr(uint64(uintptr(0)+128)),
 53419  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53420  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53421  	(*Theapframe)(unsafe.Pointer(F)).Fmark = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Fmark
 53422  	goto __3089
 53423  __3090:
 53424  	;
 53425  	if !(rrc != DMATCH_NOMATCH && rrc != -993) {
 53426  		goto __3091
 53427  	}
 53428  	rrc = rrc
 53429  	goto RETURN_SWITCH
 53430  __3091:
 53431  	;
 53432  
 53433  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53434  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53435  		goto __3092
 53436  	}
 53437  	rrc = DMATCH_NOMATCH
 53438  	goto RETURN_SWITCH
 53439  __3092:
 53440  	;
 53441  
 53442  	goto __3088
 53443  __3088:
 53444  	goto __3087
 53445  	goto __3089
 53446  __3089:
 53447  	;
 53448  
 53449  __3093:
 53450  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53451  	goto __3094
 53452  __3094:
 53453  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53454  		goto __3093
 53455  	}
 53456  	goto __3095
 53457  __3095:
 53458  	;
 53459  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53460  	goto __13
 53461  
 53462  	// =====================================================================
 53463  	// Handle negative assertions. Loop for each non-matching branch as for
 53464  	//     positive assertions.
 53465  
 53466  __130:
 53467  __131:
 53468  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53469  
 53470  __3096:
 53471  
 53472  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53473  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53474  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM4
 53475  	goto MATCH_RECURSE
 53476  L_RM4:
 53477  	;
 53478  
 53479  	switch rrc {
 53480  	case -999:
 53481  		goto __3100 // Assertion matched, therefore it fails.
 53482  	case DMATCH_MATCH:
 53483  		goto __3101
 53484  
 53485  	case DMATCH_NOMATCH:
 53486  		goto __3102 // Branch failed, try next if present.
 53487  	case -993:
 53488  		goto __3103
 53489  
 53490  	case -997:
 53491  		goto __3104 // Assertion forced to fail, therefore continue.
 53492  	case -995:
 53493  		goto __3105
 53494  	case -996:
 53495  		goto __3106
 53496  
 53497  	default:
 53498  		goto __3107
 53499  	}
 53500  	goto __3099
 53501  
 53502  __3100: // Assertion matched, therefore it fails.
 53503  __3101:
 53504  	rrc = DMATCH_NOMATCH
 53505  	goto RETURN_SWITCH
 53506  
 53507  __3102: // Branch failed, try next if present.
 53508  __3103:
 53509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53510  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53511  		goto __3108
 53512  	}
 53513  	goto ASSERT_NOT_FAILED
 53514  __3108:
 53515  	;
 53516  	goto __3099
 53517  
 53518  __3104: // Assertion forced to fail, therefore continue.
 53519  __3105:
 53520  __3106:
 53521  __3109:
 53522  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53523  	goto __3110
 53524  __3110:
 53525  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53526  		goto __3109
 53527  	}
 53528  	goto __3111
 53529  __3111:
 53530  	;
 53531  	goto ASSERT_NOT_FAILED
 53532  
 53533  __3107: /* Pass back any other return */
 53534  	rrc = rrc
 53535  	goto RETURN_SWITCH
 53536  
 53537  __3099:
 53538  	;
 53539  	goto __3097
 53540  __3097:
 53541  	goto __3096
 53542  	goto __3098
 53543  __3098:
 53544  	;
 53545  
 53546  	// None of the branches have matched or there was a backtrack to (*COMMIT),
 53547  	//     (*SKIP), (*PRUNE), or (*THEN) in the last branch. This is success for a
 53548  	//     negative assertion, so carry on.
 53549  
 53550  ASSERT_NOT_FAILED:
 53551  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53552  	goto __13
 53553  
 53554  	// =====================================================================
 53555  	// The callout item calls an external function, if one is provided, passing
 53556  	//     details of the match so far. This is mainly for debugging, though the
 53557  	//     function is able to force a failure.
 53558  
 53559  __132:
 53560  __133:
 53561  	rrc = do_callout1(tls, F, mb, bp)
 53562  	if !(rrc > 0) {
 53563  		goto __3112
 53564  	}
 53565  	rrc = DMATCH_NOMATCH
 53566  	goto RETURN_SWITCH
 53567  __3112:
 53568  	;
 53569  
 53570  	if !(rrc < 0) {
 53571  		goto __3113
 53572  	}
 53573  	rrc = rrc
 53574  	goto RETURN_SWITCH
 53575  __3113:
 53576  	;
 53577  
 53578  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53579  	goto __13
 53580  
 53581  	// =====================================================================
 53582  	// Conditional group: compilation checked that there are no more than two
 53583  	//     branches. If the condition is false, skipping the first branch takes us
 53584  	//     past the end of the item if there is only one branch, but that's exactly
 53585  	//     what we want.
 53586  
 53587  __134:
 53588  __135:
 53589  
 53590  	// The variable Flength will be added to Fecode when the condition is
 53591  	//     false, to get to the second branch. Setting it to the offset to the ALT or
 53592  	//     KET, then incrementing Fecode achieves this effect. However, if the second
 53593  	//     branch is non-existent, we must point to the KET so that the end of the
 53594  	//     group is correctly processed. We now have Fecode pointing to the condition
 53595  	//     or callout.
 53596  
 53597  	(*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Offset to the second branch
 53598  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)))) != OP_ALT) {
 53599  		goto __3114
 53600  	}
 53601  	*(*Tsize_t)(unsafe.Pointer(F + 24)) -= uint64(1 + DLINK_SIZE)
 53602  __3114:
 53603  	;
 53604  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) // From this opcode
 53605  
 53606  	// Because of the way auto-callout works during compile, a callout item is
 53607  	//     inserted between OP_COND and an assertion condition. Such a callout can
 53608  	//     also be inserted manually.
 53609  
 53610  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT_STR) {
 53611  		goto __3115
 53612  	}
 53613  
 53614  	rrc = do_callout1(tls, F, mb, bp)
 53615  	if !(rrc > 0) {
 53616  		goto __3116
 53617  	}
 53618  	rrc = DMATCH_NOMATCH
 53619  	goto RETURN_SWITCH
 53620  __3116:
 53621  	;
 53622  
 53623  	if !(rrc < 0) {
 53624  		goto __3117
 53625  	}
 53626  	rrc = rrc
 53627  	goto RETURN_SWITCH
 53628  __3117:
 53629  	;
 53630  
 53631  	// Advance Fecode past the callout, so it now points to the condition. We
 53632  	//       must adjust Flength so that the value of Fecode+Flength is unchanged.
 53633  
 53634  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53635  	*(*Tsize_t)(unsafe.Pointer(F + 24)) -= *(*Tsize_t)(unsafe.Pointer(bp))
 53636  __3115:
 53637  	;
 53638  
 53639  	// Test the various possible conditions
 53640  
 53641  	condition = DFALSE
 53642  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 53643  	case OP_RREF:
 53644  		goto __3119
 53645  
 53646  	case OP_DNRREF:
 53647  		goto __3120
 53648  
 53649  	case OP_CREF:
 53650  		goto __3121
 53651  
 53652  	case OP_DNCREF:
 53653  		goto __3122
 53654  
 53655  	case OP_FALSE:
 53656  		goto __3123
 53657  	case OP_FAIL:
 53658  		goto __3124
 53659  
 53660  	case OP_TRUE:
 53661  		goto __3125
 53662  
 53663  	// The condition is an assertion. Run code similar to the assertion code
 53664  	//       above.
 53665  
 53666  	default:
 53667  		goto __3126
 53668  	}
 53669  	goto __3118
 53670  
 53671  __3119: // Group recursion test
 53672  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53673  		goto __3127
 53674  	}
 53675  
 53676  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 53677  	condition = libc.Bool32(number == Tuint32_t(DRREF_ANY) || number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53678  __3127:
 53679  	;
 53680  	goto __3118
 53681  
 53682  __3120: // Duplicate named group recursion test
 53683  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53684  		goto __3128
 53685  	}
 53686  
 53687  	count1 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 53688  	slot1 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 53689  __3129:
 53690  	if !(libc.PostDecInt32(&count1, 1) > 0) {
 53691  		goto __3130
 53692  	}
 53693  
 53694  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1 + 1))))
 53695  	condition = libc.Bool32(number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53696  	if !(condition != 0) {
 53697  		goto __3131
 53698  	}
 53699  	goto __3130
 53700  __3131:
 53701  	;
 53702  	slot1 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53703  	goto __3129
 53704  __3130:
 53705  	;
 53706  __3128:
 53707  	;
 53708  	goto __3118
 53709  
 53710  __3121: // Numbered group used test
 53711  	offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2)) // Doubled ref number
 53712  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0)))
 53713  	goto __3118
 53714  
 53715  __3122: /* Duplicate named group used test */
 53716  
 53717  	count2 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 53718  	slot2 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 53719  __3132:
 53720  	if !(libc.PostDecInt32(&count2, 1) > 0) {
 53721  		goto __3133
 53722  	}
 53723  
 53724  	offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2 + 1))))<<1 - uint32(2))
 53725  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0)))
 53726  	if !(condition != 0) {
 53727  		goto __3134
 53728  	}
 53729  	goto __3133
 53730  __3134:
 53731  	;
 53732  	slot2 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53733  	goto __3132
 53734  __3133:
 53735  	;
 53736  
 53737  	goto __3118
 53738  
 53739  __3123:
 53740  __3124: // The assertion (?!) becomes OP_FAIL
 53741  	goto __3118
 53742  
 53743  __3125:
 53744  	condition = DTRUE
 53745  	goto __3118
 53746  
 53747  	// The condition is an assertion. Run code similar to the assertion code
 53748  	//       above.
 53749  
 53750  __3126:
 53751  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERTBACK))
 53752  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53753  
 53754  __3135:
 53755  
 53756  	group_frame_type = DGF_CONDASSERT | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 53757  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))])
 53758  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM5
 53759  	goto MATCH_RECURSE
 53760  L_RM5:
 53761  	;
 53762  
 53763  	switch rrc {
 53764  	case -999:
 53765  		goto __3139
 53766  
 53767  	// Fall through
 53768  	// In the case of a match, the captures have already been put into
 53769  	//           the current frame.
 53770  
 53771  	case DMATCH_MATCH:
 53772  		goto __3140
 53773  
 53774  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53775  	//           assertion; it is therefore always treated as NOMATCH.
 53776  
 53777  	case DMATCH_NOMATCH:
 53778  		goto __3141
 53779  	case -993:
 53780  		goto __3142
 53781  
 53782  	// These force no match without checking other branches.
 53783  
 53784  	case -997:
 53785  		goto __3143
 53786  	case -995:
 53787  		goto __3144
 53788  	case -996:
 53789  		goto __3145
 53790  
 53791  	default:
 53792  		goto __3146
 53793  	}
 53794  	goto __3138
 53795  
 53796  __3139: // Save captures
 53797  	libc.Xmemcpy(tls, F+128,
 53798  		assert_accept_frame+uintptr(uint64(uintptr(0)+128)),
 53799  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53800  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53801  
 53802  	// Fall through
 53803  	// In the case of a match, the captures have already been put into
 53804  	//           the current frame.
 53805  
 53806  __3140:
 53807  	condition = TBOOL(*(*Tuint32_t)(unsafe.Pointer(F + 56))) // TRUE for positive assertion
 53808  	goto __3138
 53809  
 53810  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53811  	//           assertion; it is therefore always treated as NOMATCH.
 53812  
 53813  __3141:
 53814  __3142:
 53815  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 53816  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT) {
 53817  		goto __3147
 53818  	}
 53819  	goto __3136
 53820  __3147:
 53821  	;                                                                         // Try next branch
 53822  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0)) // TRUE for negative assertion
 53823  	goto __3138
 53824  
 53825  	// These force no match without checking other branches.
 53826  
 53827  __3143:
 53828  __3144:
 53829  __3145:
 53830  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0))
 53831  	goto __3138
 53832  
 53833  __3146:
 53834  	rrc = rrc
 53835  	goto RETURN_SWITCH
 53836  
 53837  __3138:
 53838  	;
 53839  	goto __3137 // Out of the branch loop
 53840  	goto __3136
 53841  __3136:
 53842  	goto __3135
 53843  	goto __3137
 53844  __3137:
 53845  	;
 53846  
 53847  	// If the condition is true, find the end of the assertion so that
 53848  	//       advancing past it gets us to the start of the first branch.
 53849  
 53850  	if !(condition != 0) {
 53851  		goto __3148
 53852  	}
 53853  
 53854  __3149:
 53855  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53856  	goto __3150
 53857  __3150:
 53858  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53859  		goto __3149
 53860  	}
 53861  	goto __3151
 53862  __3151:
 53863  	;
 53864  __3148:
 53865  	;
 53866  	goto __3118 // End of assertion condition
 53867  __3118:
 53868  	;
 53869  
 53870  	// Choose branch according to the condition.
 53871  
 53872  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += func() uintptr {
 53873  		if condition != 0 {
 53874  			return uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53875  		}
 53876  		return uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)
 53877  	}()
 53878  
 53879  	// If the opcode is OP_SCOND it means we are at a repeated conditional
 53880  	//     group that might match an empty string. We must therefore descend a level
 53881  	//     so that the start is remembered for checking. For OP_COND we can just
 53882  	//     continue at this level.
 53883  
 53884  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_SCOND) {
 53885  		goto __3152
 53886  	}
 53887  
 53888  	group_frame_type = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53889  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53890  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM35
 53891  	goto MATCH_RECURSE
 53892  L_RM35:
 53893  	;
 53894  
 53895  	rrc = rrc
 53896  	goto RETURN_SWITCH
 53897  
 53898  __3152:
 53899  	;
 53900  	goto __13
 53901  
 53902  	// =========================================================================
 53903  	//                  End of start of parenthesis opcodes
 53904  	// =========================================================================
 53905  
 53906  	// =====================================================================
 53907  	// Move the subject pointer back. This occurs only at the start of each
 53908  	//     branch of a lookbehind assertion. If we are too close to the start to move
 53909  	//     back, fail. When working with UTF-8 we move back a number of characters,
 53910  	//     not bytes.
 53911  
 53912  __136:
 53913  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 53914  	if !(utf != 0) {
 53915  		goto __3153
 53916  	}
 53917  
 53918  __3155:
 53919  	if !(libc.PostDecUint32(&number, 1) > Tuint32_t(0)) {
 53920  		goto __3156
 53921  	}
 53922  
 53923  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 53924  		goto __3157
 53925  	}
 53926  	rrc = DMATCH_NOMATCH
 53927  	goto RETURN_SWITCH
 53928  __3157:
 53929  	;
 53930  
 53931  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53932  __3158:
 53933  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 53934  		goto __3159
 53935  	}
 53936  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53937  	goto __3158
 53938  __3159:
 53939  	;
 53940  	goto __3155
 53941  __3156:
 53942  	;
 53943  	goto __3154
 53944  __3153:
 53945  
 53946  	/* No UTF-8 support, or not in UTF-8 mode: count is code unit count */
 53947  
 53948  	if !(Tptrdiff_t(number) > (int64((*Theapframe)(unsafe.Pointer(F)).Feptr)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject))/1) {
 53949  		goto __3160
 53950  	}
 53951  	rrc = DMATCH_NOMATCH
 53952  	goto RETURN_SWITCH
 53953  __3160:
 53954  	;
 53955  
 53956  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8(number)
 53957  __3154:
 53958  	;
 53959  
 53960  	// Save the earliest consulted character, then skip to next opcode
 53961  
 53962  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 53963  		goto __3161
 53964  	}
 53965  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 53966  __3161:
 53967  	;
 53968  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53969  	goto __13
 53970  
 53971  	// =====================================================================
 53972  	// An alternation is the end of a branch; scan along to find the end of the
 53973  	//     bracketed group.
 53974  
 53975  __137:
 53976  __3162:
 53977  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53978  	goto __3163
 53979  __3163:
 53980  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53981  		goto __3162
 53982  	}
 53983  	goto __3164
 53984  __3164:
 53985  	;
 53986  	goto __13
 53987  
 53988  	// =====================================================================
 53989  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 53990  	//     starting frame was added to the chained frames in order to remember the
 53991  	//     starting subject position for the group.
 53992  
 53993  __138:
 53994  __139:
 53995  __140:
 53996  __141:
 53997  
 53998  	bracode = (*Theapframe)(unsafe.Pointer(F)).Fecode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53999  
 54000  	// Point N to the frame at the start of the most recent group.
 54001  	//     Remember the subject pointer at the start of the group.
 54002  
 54003  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_COND) {
 54004  		goto __3165
 54005  	}
 54006  
 54007  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Theapframe)(unsafe.Pointer(F)).Flast_group_offset)
 54008  	P = N - uintptr(frame_size)
 54009  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 54010  
 54011  	// If we are at the end of an assertion that is a condition, return a
 54012  	//       match, discarding any intermediate backtracking points. Copy back the
 54013  	//       mark setting and the captures into the frame before N so that they are
 54014  	//       set on return. Doing this for all assertions, both positive and negative,
 54015  	//       seems to match what Perl does.
 54016  
 54017  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_CONDASSERT) {
 54018  		goto __3167
 54019  	}
 54020  
 54021  	libc.Xmemcpy(tls, P+uintptr(uint64(uintptr(0)+128)), F+128,
 54022  		(*Theapframe)(unsafe.Pointer(F)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54023  	(*Theapframe)(unsafe.Pointer(P)).Foffset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top
 54024  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 54025  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1)
 54026  	rrc = DMATCH_MATCH
 54027  	goto RETURN_SWITCH
 54028  
 54029  __3167:
 54030  	;
 54031  	goto __3166
 54032  __3165:
 54033  	P = uintptr(0)
 54034  __3166:
 54035  	; // Indicates starting frame not recorded
 54036  
 54037  	// The group was not a conditional assertion.
 54038  
 54039  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) {
 54040  	case OP_BRA:
 54041  		goto __3169 // No need to do anything for these
 54042  	case OP_COND:
 54043  		goto __3170
 54044  	case OP_SCOND:
 54045  		goto __3171
 54046  
 54047  	// Non-atomic positive assertions are like OP_BRA, except that the
 54048  	//       subject pointer must be put back to where it was at the start of the
 54049  	//       assertion.
 54050  
 54051  	case OP_ASSERT_NA:
 54052  		goto __3172
 54053  	case OP_ASSERTBACK_NA:
 54054  		goto __3173
 54055  
 54056  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54057  	//       the subject pointer must be put back to where it was at the start of the
 54058  	//       assertion.
 54059  
 54060  	case OP_ASSERT:
 54061  		goto __3174
 54062  	case OP_ASSERTBACK:
 54063  		goto __3175
 54064  	// Fall through
 54065  
 54066  	// For an atomic group, discard internal backtracking points. We must
 54067  	//       also ensure that any remaining branches within the top-level of the group
 54068  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54069  	//       frame so that it points to the final branch.
 54070  
 54071  	case OP_ONCE:
 54072  		goto __3176
 54073  
 54074  	// A matching negative assertion returns MATCH, which is turned into
 54075  	//       NOMATCH at the assertion level.
 54076  
 54077  	case OP_ASSERT_NOT:
 54078  		goto __3177
 54079  	case OP_ASSERTBACK_NOT:
 54080  		goto __3178
 54081  
 54082  	// At the end of a script run, apply the script-checking rules. This code
 54083  	//       will never by exercised if Unicode support it not compiled, because in
 54084  	//       that environment script runs cause an error at compile time.
 54085  
 54086  	case OP_SCRIPT_RUN:
 54087  		goto __3179
 54088  
 54089  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54090  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54091  	//       Other recursion is handled here.
 54092  
 54093  	case OP_CBRA:
 54094  		goto __3180
 54095  	case OP_CBRAPOS:
 54096  		goto __3181
 54097  	case OP_SCBRA:
 54098  		goto __3182
 54099  	case OP_SCBRAPOS:
 54100  		goto __3183
 54101  	}
 54102  	goto __3168
 54103  
 54104  __3169: // No need to do anything for these
 54105  __3170:
 54106  __3171:
 54107  	goto __3168
 54108  
 54109  	// Non-atomic positive assertions are like OP_BRA, except that the
 54110  	//       subject pointer must be put back to where it was at the start of the
 54111  	//       assertion.
 54112  
 54113  __3172:
 54114  __3173:
 54115  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54116  		goto __3184
 54117  	}
 54118  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54119  __3184:
 54120  	;
 54121  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54122  	goto __3168
 54123  
 54124  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54125  	//       the subject pointer must be put back to where it was at the start of the
 54126  	//       assertion.
 54127  
 54128  __3174:
 54129  __3175:
 54130  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54131  		goto __3185
 54132  	}
 54133  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54134  __3185:
 54135  	;
 54136  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54137  	// Fall through
 54138  
 54139  	// For an atomic group, discard internal backtracking points. We must
 54140  	//       also ensure that any remaining branches within the top-level of the group
 54141  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54142  	//       frame so that it points to the final branch.
 54143  
 54144  __3176:
 54145  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1)
 54146  __3186:
 54147  
 54148  	y = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 2))))
 54149  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(y)))) != OP_ALT) {
 54150  		goto __3189
 54151  	}
 54152  	goto __3188
 54153  __3189:
 54154  	;
 54155  	*(*TPCRE2_SPTR8)(unsafe.Pointer(P)) += TPCRE2_SPTR8(y)
 54156  	goto __3187
 54157  __3187:
 54158  	goto __3186
 54159  	goto __3188
 54160  __3188:
 54161  	;
 54162  	goto __3168
 54163  
 54164  	// A matching negative assertion returns MATCH, which is turned into
 54165  	//       NOMATCH at the assertion level.
 54166  
 54167  __3177:
 54168  __3178:
 54169  	rrc = DMATCH_MATCH
 54170  	goto RETURN_SWITCH
 54171  
 54172  	// At the end of a script run, apply the script-checking rules. This code
 54173  	//       will never by exercised if Unicode support it not compiled, because in
 54174  	//       that environment script runs cause an error at compile time.
 54175  
 54176  __3179:
 54177  	if !!(X_pcre2_script_run_8(tls, (*Theapframe)(unsafe.Pointer(P)).Feptr, (*Theapframe)(unsafe.Pointer(F)).Feptr, utf) != 0) {
 54178  		goto __3190
 54179  	}
 54180  	rrc = DMATCH_NOMATCH
 54181  	goto RETURN_SWITCH
 54182  __3190:
 54183  	;
 54184  
 54185  	goto __3168
 54186  
 54187  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54188  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54189  	//       Other recursion is handled here.
 54190  
 54191  __3180:
 54192  __3181:
 54193  __3182:
 54194  __3183:
 54195  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 54196  
 54197  	// Handle a recursively called group. We reinstate the previous set of
 54198  	//       captures and then carry on after the recursion call.
 54199  
 54200  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == number) {
 54201  		goto __3191
 54202  	}
 54203  
 54204  	P = N - uintptr(frame_size)
 54205  	libc.Xmemcpy(tls, F+uintptr(uint64(uintptr(0)+128)), P+128,
 54206  		(*Theapframe)(unsafe.Pointer(P)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54207  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(P)).Foffset_top
 54208  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = (*Theapframe)(unsafe.Pointer(P)).Fcapture_last
 54209  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = (*Theapframe)(unsafe.Pointer(P)).Fcurrent_recurse
 54210  	(*Theapframe)(unsafe.Pointer(F)).Fecode = (*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54211  	goto __11 // With next opcode
 54212  __3191:
 54213  	;
 54214  
 54215  	// Deal with actual capturing.
 54216  
 54217  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 54218  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 54219  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54220  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54221  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 54222  		goto __3192
 54223  	}
 54224  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2)
 54225  __3192:
 54226  	;
 54227  	goto __3168
 54228  __3168:
 54229  	; // End actions relating to the starting opcode
 54230  
 54231  	// OP_KETRPOS is a possessive repeating ket. Remember the current position,
 54232  	//     and return the MATCH_KETRPOS. This makes it possible to do the repeats one
 54233  	//     at a time from the outer level. This must precede the empty string test -
 54234  	//     in this case that test is done at the outer level.
 54235  
 54236  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_KETRPOS) {
 54237  		goto __3193
 54238  	}
 54239  
 54240  	libc.Xmemcpy(tls, P+uintptr(uint64(uintptr(0)+80)),
 54241  		F+uintptr(uint64(uintptr(0)+80)),
 54242  		frame_copy_size)
 54243  	rrc = -998
 54244  	goto RETURN_SWITCH
 54245  
 54246  __3193:
 54247  	;
 54248  
 54249  	// Handle the different kinds of closing brackets. A non-repeating ket
 54250  	//     needs no special action, just continuing at this level. This also happens
 54251  	//     for the repeating kets if the group matched no characters, in order to
 54252  	//     forcibly break infinite loops. Otherwise, the repeating kets try the rest
 54253  	//     of the pattern or restart from the preceding bracket, in the appropriate
 54254  	//     order.
 54255  
 54256  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) != OP_KET && (P == uintptr(0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Theapframe)(unsafe.Pointer(P)).Feptr)) {
 54257  		goto __3194
 54258  	}
 54259  
 54260  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_KETRMIN) {
 54261  		goto __3195
 54262  	}
 54263  
 54264  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54265  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM6
 54266  	goto MATCH_RECURSE
 54267  L_RM6:
 54268  	;
 54269  
 54270  	if !(rrc != DMATCH_NOMATCH) {
 54271  		goto __3196
 54272  	}
 54273  	rrc = rrc
 54274  	goto RETURN_SWITCH
 54275  __3196:
 54276  	;
 54277  
 54278  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) -= TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 54279  	goto __13 // End of ket processing
 54280  __3195:
 54281  	;
 54282  
 54283  	/* Repeat the maximum number of times (KETRMAX) */
 54284  
 54285  	start_ecode = bracode
 54286  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM7
 54287  	goto MATCH_RECURSE
 54288  L_RM7:
 54289  	;
 54290  
 54291  	if !(rrc != DMATCH_NOMATCH) {
 54292  		goto __3197
 54293  	}
 54294  	rrc = rrc
 54295  	goto RETURN_SWITCH
 54296  __3197:
 54297  	;
 54298  
 54299  __3194:
 54300  	;
 54301  
 54302  	// Carry on at this level for a non-repeating ket, or after matching an
 54303  	//     empty string, or after repeating for a maximum number of times.
 54304  
 54305  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 54306  	goto __13
 54307  
 54308  	// =====================================================================
 54309  	// Start and end of line assertions, not multiline mode.
 54310  
 54311  __142: // Start of line, unless PCRE2_NOTBOL is set.
 54312  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0)) {
 54313  		goto __3198
 54314  	}
 54315  	rrc = DMATCH_NOMATCH
 54316  	goto RETURN_SWITCH
 54317  __3198:
 54318  	;
 54319  
 54320  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54321  	goto __13
 54322  
 54323  __143: // Unconditional start of subject
 54324  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) {
 54325  		goto __3199
 54326  	}
 54327  	rrc = DMATCH_NOMATCH
 54328  	goto RETURN_SWITCH
 54329  __3199:
 54330  	;
 54331  
 54332  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54333  	goto __13
 54334  
 54335  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 54336  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 54337  
 54338  __144:
 54339  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54340  		goto __3200
 54341  	}
 54342  	rrc = DMATCH_NOMATCH
 54343  	goto RETURN_SWITCH
 54344  __3200:
 54345  	;
 54346  
 54347  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0)) {
 54348  		goto __3201
 54349  	}
 54350  	goto ASSERT_NL_OR_EOS
 54351  __3201:
 54352  	;
 54353  
 54354  	// Fall through
 54355  	// Unconditional end of subject assertion (\z)
 54356  
 54357  __145:
 54358  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54359  		goto __3202
 54360  	}
 54361  	rrc = DMATCH_NOMATCH
 54362  	goto RETURN_SWITCH
 54363  __3202:
 54364  	;
 54365  
 54366  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54367  		goto __3203
 54368  	}
 54369  
 54370  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54371  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54372  		goto __3204
 54373  	}
 54374  	return -2
 54375  __3204:
 54376  	;
 54377  __3203:
 54378  	;
 54379  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54380  	goto __13
 54381  
 54382  	// End of subject or ending \n assertion (\Z)
 54383  
 54384  __146:
 54385  ASSERT_NL_OR_EOS:
 54386  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (!(func() int32 {
 54387  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54388  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 54389  		}
 54390  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54391  	}() != 0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen))) {
 54392  		goto __3205
 54393  	}
 54394  
 54395  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 54396  		goto __3206
 54397  	}
 54398  
 54399  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54400  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54401  		goto __3207
 54402  	}
 54403  	return -2
 54404  __3207:
 54405  	;
 54406  __3206:
 54407  	;
 54408  	rrc = DMATCH_NOMATCH
 54409  	goto RETURN_SWITCH
 54410  
 54411  __3205:
 54412  	;
 54413  
 54414  	// Either at end of string or \n before end.
 54415  
 54416  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54417  		goto __3208
 54418  	}
 54419  
 54420  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54421  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54422  		goto __3209
 54423  	}
 54424  	return -2
 54425  __3209:
 54426  	;
 54427  __3208:
 54428  	;
 54429  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54430  	goto __13
 54431  
 54432  	// =====================================================================
 54433  	// Start and end of line assertions, multiline mode.
 54434  
 54435  	// Start of subject unless notbol, or after any newline except for one at
 54436  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 54437  
 54438  __147:
 54439  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) {
 54440  		goto __3210
 54441  	}
 54442  	rrc = DMATCH_NOMATCH
 54443  	goto RETURN_SWITCH
 54444  __3210:
 54445  	;
 54446  
 54447  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && ((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX == Tuint32_t(0) || !(func() int32 {
 54448  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54449  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 54450  		}
 54451  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54452  	}() != 0))) {
 54453  		goto __3211
 54454  	}
 54455  	rrc = DMATCH_NOMATCH
 54456  	goto RETURN_SWITCH
 54457  __3211:
 54458  	;
 54459  
 54460  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54461  	goto __13
 54462  
 54463  	// Assert before any newline, or before end of subject unless noteol is
 54464  	//     set.
 54465  
 54466  __148:
 54467  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54468  		goto __3212
 54469  	}
 54470  
 54471  	if !!(func() int32 {
 54472  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54473  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 54474  		}
 54475  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54476  	}() != 0) {
 54477  		goto __3214
 54478  	}
 54479  
 54480  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 54481  		goto __3215
 54482  	}
 54483  
 54484  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54485  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54486  		goto __3216
 54487  	}
 54488  	return -2
 54489  __3216:
 54490  	;
 54491  __3215:
 54492  	;
 54493  	rrc = DMATCH_NOMATCH
 54494  	goto RETURN_SWITCH
 54495  
 54496  __3214:
 54497  	;
 54498  	goto __3213
 54499  __3212:
 54500  
 54501  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54502  		goto __3217
 54503  	}
 54504  	rrc = DMATCH_NOMATCH
 54505  	goto RETURN_SWITCH
 54506  __3217:
 54507  	;
 54508  
 54509  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 54510  		goto __3218
 54511  	}
 54512  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54513  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54514  		goto __3219
 54515  	}
 54516  	return -2
 54517  __3219:
 54518  	;
 54519  __3218:
 54520  	;
 54521  
 54522  __3213:
 54523  	;
 54524  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54525  	goto __13
 54526  
 54527  	// =====================================================================
 54528  	// Start of match assertion
 54529  
 54530  __149:
 54531  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset)) {
 54532  		goto __3220
 54533  	}
 54534  	rrc = DMATCH_NOMATCH
 54535  	goto RETURN_SWITCH
 54536  __3220:
 54537  	;
 54538  
 54539  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54540  	goto __13
 54541  
 54542  	// =====================================================================
 54543  	// Reset the start of match point
 54544  
 54545  __150:
 54546  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54547  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54548  	goto __13
 54549  
 54550  	// =====================================================================
 54551  	// Word boundary assertions. Find out if the previous and current
 54552  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 54553  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 54554  	//     not set. When it is set, use Unicode properties if available, even when not
 54555  	//     in UTF mode. Remember the earliest and latest consulted characters.
 54556  
 54557  __151:
 54558  __152:
 54559  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 54560  		goto __3221
 54561  	}
 54562  	prev_is_word = DFALSE
 54563  	goto __3222
 54564  __3221:
 54565  
 54566  	lastptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 54567  	if !(utf != 0) {
 54568  		goto __3223
 54569  	}
 54570  
 54571  __3225:
 54572  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))&0xc0 == 0x80) {
 54573  		goto __3226
 54574  	}
 54575  	lastptr--
 54576  	goto __3225
 54577  __3226:
 54578  	;
 54579  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54580  	if !(fc >= 0xc0) {
 54581  		goto __3227
 54582  	}
 54583  	if !(fc&0x20 == Tuint32_t(0)) {
 54584  		goto __3228
 54585  	}
 54586  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f
 54587  	goto __3229
 54588  __3228:
 54589  	if !(fc&0x10 == Tuint32_t(0)) {
 54590  		goto __3230
 54591  	}
 54592  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f
 54593  	goto __3231
 54594  __3230:
 54595  	if !(fc&0x08 == Tuint32_t(0)) {
 54596  		goto __3232
 54597  	}
 54598  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f
 54599  	goto __3233
 54600  __3232:
 54601  	if !(fc&0x04 == Tuint32_t(0)) {
 54602  		goto __3234
 54603  	}
 54604  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f
 54605  	goto __3235
 54606  __3234:
 54607  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 5)))&0x3f
 54608  __3235:
 54609  	;
 54610  __3233:
 54611  	;
 54612  __3231:
 54613  	;
 54614  __3229:
 54615  	;
 54616  __3227:
 54617  	;
 54618  
 54619  	goto __3224
 54620  __3223:
 54621  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54622  __3224:
 54623  	;
 54624  	if !(lastptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 54625  		goto __3236
 54626  	}
 54627  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = lastptr
 54628  __3236:
 54629  	;
 54630  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54631  		goto __3237
 54632  	}
 54633  
 54634  	if !(fc == Tuint32_t('_')) {
 54635  		goto __3239
 54636  	}
 54637  	prev_is_word = DTRUE
 54638  	goto __3240
 54639  __3239:
 54640  
 54641  	cat = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 54642  	prev_is_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 54643  __3240:
 54644  	;
 54645  	goto __3238
 54646  __3237:
 54647  	prev_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54648  __3238:
 54649  	;
 54650  __3222:
 54651  	;
 54652  
 54653  	// Get status of next character
 54654  
 54655  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54656  		goto __3241
 54657  	}
 54658  
 54659  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 54660  		goto __3243
 54661  	}
 54662  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54663  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54664  		goto __3244
 54665  	}
 54666  	return -2
 54667  __3244:
 54668  	;
 54669  __3243:
 54670  	;
 54671  
 54672  	cur_is_word = DFALSE
 54673  	goto __3242
 54674  __3241:
 54675  
 54676  	nextptr = (*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)
 54677  	if !(utf != 0) {
 54678  		goto __3245
 54679  	}
 54680  
 54681  __3247:
 54682  	if !(nextptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(nextptr)))&0xc0 == 0x80) {
 54683  		goto __3248
 54684  	}
 54685  	nextptr++
 54686  	goto __3247
 54687  __3248:
 54688  	;
 54689  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54690  	if !(fc >= 0xc0) {
 54691  		goto __3249
 54692  	}
 54693  	if !(fc&0x20 == Tuint32_t(0)) {
 54694  		goto __3250
 54695  	}
 54696  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 54697  	goto __3251
 54698  __3250:
 54699  	if !(fc&0x10 == Tuint32_t(0)) {
 54700  		goto __3252
 54701  	}
 54702  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 54703  	goto __3253
 54704  __3252:
 54705  	if !(fc&0x08 == Tuint32_t(0)) {
 54706  		goto __3254
 54707  	}
 54708  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 54709  	goto __3255
 54710  __3254:
 54711  	if !(fc&0x04 == Tuint32_t(0)) {
 54712  		goto __3256
 54713  	}
 54714  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 54715  	goto __3257
 54716  __3256:
 54717  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 54718  __3257:
 54719  	;
 54720  __3255:
 54721  	;
 54722  __3253:
 54723  	;
 54724  __3251:
 54725  	;
 54726  __3249:
 54727  	;
 54728  
 54729  	goto __3246
 54730  __3245:
 54731  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54732  __3246:
 54733  	;
 54734  	if !(nextptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54735  		goto __3258
 54736  	}
 54737  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = nextptr
 54738  __3258:
 54739  	;
 54740  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54741  		goto __3259
 54742  	}
 54743  
 54744  	if !(fc == Tuint32_t('_')) {
 54745  		goto __3261
 54746  	}
 54747  	cur_is_word = DTRUE
 54748  	goto __3262
 54749  __3261:
 54750  
 54751  	cat1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 54752  	cur_is_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 54753  __3262:
 54754  	;
 54755  	goto __3260
 54756  __3259:
 54757  	cur_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54758  __3260:
 54759  	;
 54760  __3242:
 54761  	;
 54762  
 54763  	// Now see if the situation is what we want
 54764  
 54765  	if !(func() int32 {
 54766  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) == OP_WORD_BOUNDARY {
 54767  			return libc.Bool32(cur_is_word == prev_is_word)
 54768  		}
 54769  		return libc.Bool32(cur_is_word != prev_is_word)
 54770  	}() != 0) {
 54771  		goto __3263
 54772  	}
 54773  	rrc = DMATCH_NOMATCH
 54774  	goto RETURN_SWITCH
 54775  __3263:
 54776  	;
 54777  
 54778  	goto __13
 54779  
 54780  	// =====================================================================
 54781  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 54782  	//     pattern is successfully matched, we do not come back from RMATCH.
 54783  
 54784  __153:
 54785  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54786  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54787  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM12
 54788  	goto MATCH_RECURSE
 54789  L_RM12:
 54790  	;
 54791  
 54792  	// A return of MATCH_SKIP_ARG means that matching failed at SKIP with an
 54793  	//     argument, and we must check whether that argument matches this MARK's
 54794  	//     argument. It is passed back in mb->verb_skip_ptr. If it does match, we
 54795  	//     return MATCH_SKIP with mb->verb_skip_ptr now pointing to the subject
 54796  	//     position that corresponds to this mark. Otherwise, pass back the return
 54797  	//     code unaltered.
 54798  
 54799  	if !(rrc == -994 && X_pcre2_strcmp_8(tls, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2), (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr) == 0) {
 54800  		goto __3264
 54801  	}
 54802  
 54803  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr /* Pass back current position */
 54804  	rrc = -995
 54805  	goto RETURN_SWITCH
 54806  
 54807  __3264:
 54808  	;
 54809  	rrc = rrc
 54810  	goto RETURN_SWITCH
 54811  
 54812  __154:
 54813  	rrc = DMATCH_NOMATCH
 54814  	goto RETURN_SWITCH
 54815  
 54816  	// Record the current recursing group number in mb->verb_current_recurse
 54817  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 54818  	//     recurse processing to catch verbs from within the recursion.
 54819  
 54820  __155:
 54821  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54822  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM13
 54823  	goto MATCH_RECURSE
 54824  L_RM13:
 54825  	;
 54826  
 54827  	if !(rrc != DMATCH_NOMATCH) {
 54828  		goto __3265
 54829  	}
 54830  	rrc = rrc
 54831  	goto RETURN_SWITCH
 54832  __3265:
 54833  	;
 54834  
 54835  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54836  	rrc = -997
 54837  	goto RETURN_SWITCH
 54838  
 54839  __156:
 54840  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54841  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54842  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM36
 54843  	goto MATCH_RECURSE
 54844  L_RM36:
 54845  	;
 54846  
 54847  	if !(rrc != DMATCH_NOMATCH) {
 54848  		goto __3266
 54849  	}
 54850  	rrc = rrc
 54851  	goto RETURN_SWITCH
 54852  __3266:
 54853  	;
 54854  
 54855  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54856  	rrc = -997
 54857  	goto RETURN_SWITCH
 54858  
 54859  __157:
 54860  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54861  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM14
 54862  	goto MATCH_RECURSE
 54863  L_RM14:
 54864  	;
 54865  
 54866  	if !(rrc != DMATCH_NOMATCH) {
 54867  		goto __3267
 54868  	}
 54869  	rrc = rrc
 54870  	goto RETURN_SWITCH
 54871  __3267:
 54872  	;
 54873  
 54874  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54875  	rrc = -996
 54876  	goto RETURN_SWITCH
 54877  
 54878  __158:
 54879  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54880  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54881  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM15
 54882  	goto MATCH_RECURSE
 54883  L_RM15:
 54884  	;
 54885  
 54886  	if !(rrc != DMATCH_NOMATCH) {
 54887  		goto __3268
 54888  	}
 54889  	rrc = rrc
 54890  	goto RETURN_SWITCH
 54891  __3268:
 54892  	;
 54893  
 54894  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54895  	rrc = -996
 54896  	goto RETURN_SWITCH
 54897  
 54898  __159:
 54899  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54900  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM16
 54901  	goto MATCH_RECURSE
 54902  L_RM16:
 54903  	;
 54904  
 54905  	if !(rrc != DMATCH_NOMATCH) {
 54906  		goto __3269
 54907  	}
 54908  	rrc = rrc
 54909  	goto RETURN_SWITCH
 54910  __3269:
 54911  	;
 54912  
 54913  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr // Pass back current position
 54914  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54915  	rrc = -995
 54916  	goto RETURN_SWITCH
 54917  
 54918  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 54919  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 54920  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 54921  	//     that failed and any that precede it (either they also failed, or were not
 54922  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 54923  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 54924  	//     set to the count of the one that failed.
 54925  
 54926  __160:
 54927  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count++
 54928  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg) {
 54929  		goto __3270
 54930  	}
 54931  
 54932  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))))
 54933  	goto __13
 54934  __3270:
 54935  	;
 54936  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54937  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM17
 54938  	goto MATCH_RECURSE
 54939  L_RM17:
 54940  	;
 54941  
 54942  	if !(rrc != DMATCH_NOMATCH) {
 54943  		goto __3271
 54944  	}
 54945  	rrc = rrc
 54946  	goto RETURN_SWITCH
 54947  __3271:
 54948  	;
 54949  
 54950  	// Pass back the current skip name and return the special MATCH_SKIP_ARG
 54951  	//     return code. This will either be caught by a matching MARK, or get to the
 54952  	//     top, where it causes a rematch with mb->ignore_skip_arg set to the value of
 54953  	//     mb->skip_arg_count.
 54954  
 54955  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(2)
 54956  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54957  	rrc = -994
 54958  	goto RETURN_SWITCH
 54959  
 54960  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 54961  	//     the branch in which it occurs can be determined.
 54962  
 54963  __161:
 54964  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54965  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM18
 54966  	goto MATCH_RECURSE
 54967  L_RM18:
 54968  	;
 54969  
 54970  	if !(rrc != DMATCH_NOMATCH) {
 54971  		goto __3272
 54972  	}
 54973  	rrc = rrc
 54974  	goto RETURN_SWITCH
 54975  __3272:
 54976  	;
 54977  
 54978  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 54979  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54980  	rrc = -993
 54981  	goto RETURN_SWITCH
 54982  
 54983  __162:
 54984  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54985  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54986  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM19
 54987  	goto MATCH_RECURSE
 54988  L_RM19:
 54989  	;
 54990  
 54991  	if !(rrc != DMATCH_NOMATCH) {
 54992  		goto __3273
 54993  	}
 54994  	rrc = rrc
 54995  	goto RETURN_SWITCH
 54996  __3273:
 54997  	;
 54998  
 54999  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 55000  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 55001  	rrc = -993
 55002  	goto RETURN_SWITCH
 55003  
 55004  	// =====================================================================
 55005  	// There's been some horrible disaster. Arrival here can only mean there is
 55006  	//     something seriously wrong in the code above or the OP_xxx definitions.
 55007  
 55008  __163:
 55009  	return -44
 55010  __13:
 55011  	;
 55012  
 55013  	// Do not insert any code in here without much thought; it is assumed
 55014  	//   that "continue" in the code above comes out to here to repeat the main
 55015  	//   loop.
 55016  
 55017  	goto __11
 55018  __11:
 55019  	goto __10
 55020  	goto __12
 55021  __12:
 55022  	; // End of main loop
 55023  	// Control never reaches here
 55024  
 55025  	// =========================================================================
 55026  	// The RRETURN() macro jumps here. The number that is saved in Freturn_id
 55027  	// indicates which label we actually want to return to. The value in Frdepth is
 55028  	// the index number of the frame in the vector. The return value has been placed
 55029  	// in rrc.
 55030  
 55031  RETURN_SWITCH:
 55032  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 55033  		goto __3274
 55034  	}
 55035  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 55036  __3274:
 55037  	;
 55038  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 55039  		goto __3275
 55040  	}
 55041  	return rrc
 55042  __3275:
 55043  	;                                                                                                          // Exit from the top level
 55044  	F = F - uintptr((*Theapframe)(unsafe.Pointer(F)).Fback_frame)                                              // Backtrack
 55045  	*(*Tuint32_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb + 104)) |= DPCRE2_CALLOUT_BACKTRACK // Note for callouts
 55046  
 55047  	switch int32((*Theapframe)(unsafe.Pointer(F)).Freturn_id) {
 55048  	case 1:
 55049  		goto __3277
 55050  	case 2:
 55051  		goto __3278
 55052  	case 3:
 55053  		goto __3279
 55054  	case 4:
 55055  		goto __3280
 55056  	case 5:
 55057  		goto __3281
 55058  	case 6:
 55059  		goto __3282
 55060  	case 7:
 55061  		goto __3283
 55062  	case 8:
 55063  		goto __3284
 55064  	case 9:
 55065  		goto __3285
 55066  	case 10:
 55067  		goto __3286
 55068  	case 11:
 55069  		goto __3287
 55070  	case 12:
 55071  		goto __3288
 55072  	case 13:
 55073  		goto __3289
 55074  	case 14:
 55075  		goto __3290
 55076  	case 15:
 55077  		goto __3291
 55078  	case 16:
 55079  		goto __3292
 55080  	case 17:
 55081  		goto __3293
 55082  	case 18:
 55083  		goto __3294
 55084  	case 19:
 55085  		goto __3295
 55086  	case 20:
 55087  		goto __3296
 55088  	case 21:
 55089  		goto __3297
 55090  	case 22:
 55091  		goto __3298
 55092  	case 23:
 55093  		goto __3299
 55094  	case 24:
 55095  		goto __3300
 55096  	case 25:
 55097  		goto __3301
 55098  	case 26:
 55099  		goto __3302
 55100  	case 27:
 55101  		goto __3303
 55102  	case 28:
 55103  		goto __3304
 55104  	case 29:
 55105  		goto __3305
 55106  	case 30:
 55107  		goto __3306
 55108  	case 31:
 55109  		goto __3307
 55110  	case 32:
 55111  		goto __3308
 55112  	case 33:
 55113  		goto __3309
 55114  	case 34:
 55115  		goto __3310
 55116  	case 35:
 55117  		goto __3311
 55118  	case 36:
 55119  		goto __3312
 55120  
 55121  	case 100:
 55122  		goto __3313
 55123  	case 101:
 55124  		goto __3314
 55125  
 55126  	case 200:
 55127  		goto __3315
 55128  	case 201:
 55129  		goto __3316
 55130  	case 202:
 55131  		goto __3317
 55132  	case 203:
 55133  		goto __3318
 55134  	case 204:
 55135  		goto __3319
 55136  	case 205:
 55137  		goto __3320
 55138  	case 206:
 55139  		goto __3321
 55140  	case 207:
 55141  		goto __3322
 55142  	case 208:
 55143  		goto __3323
 55144  	case 209:
 55145  		goto __3324
 55146  	case 210:
 55147  		goto __3325
 55148  	case 211:
 55149  		goto __3326
 55150  	case 212:
 55151  		goto __3327
 55152  	case 213:
 55153  		goto __3328
 55154  	case 214:
 55155  		goto __3329
 55156  	case 215:
 55157  		goto __3330
 55158  	case 216:
 55159  		goto __3331
 55160  	case 217:
 55161  		goto __3332
 55162  	case 218:
 55163  		goto __3333
 55164  	case 219:
 55165  		goto __3334
 55166  	case 220:
 55167  		goto __3335
 55168  	case 221:
 55169  		goto __3336
 55170  	case 222:
 55171  		goto __3337
 55172  	case 223:
 55173  		goto __3338
 55174  	case 224:
 55175  		goto __3339
 55176  	case 225:
 55177  		goto __3340
 55178  
 55179  	default:
 55180  		goto __3341
 55181  	}
 55182  	goto __3276
 55183  
 55184  __3277:
 55185  	goto L_RM1
 55186  __3278:
 55187  	goto L_RM2
 55188  __3279:
 55189  	goto L_RM3
 55190  __3280:
 55191  	goto L_RM4
 55192  __3281:
 55193  	goto L_RM5
 55194  __3282:
 55195  	goto L_RM6
 55196  __3283:
 55197  	goto L_RM7
 55198  __3284:
 55199  	goto L_RM8
 55200  __3285:
 55201  	goto L_RM9
 55202  __3286:
 55203  	goto L_RM10
 55204  __3287:
 55205  	goto L_RM11
 55206  __3288:
 55207  	goto L_RM12
 55208  __3289:
 55209  	goto L_RM13
 55210  __3290:
 55211  	goto L_RM14
 55212  __3291:
 55213  	goto L_RM15
 55214  __3292:
 55215  	goto L_RM16
 55216  __3293:
 55217  	goto L_RM17
 55218  __3294:
 55219  	goto L_RM18
 55220  __3295:
 55221  	goto L_RM19
 55222  __3296:
 55223  	goto L_RM20
 55224  __3297:
 55225  	goto L_RM21
 55226  __3298:
 55227  	goto L_RM22
 55228  __3299:
 55229  	goto L_RM23
 55230  __3300:
 55231  	goto L_RM24
 55232  __3301:
 55233  	goto L_RM25
 55234  __3302:
 55235  	goto L_RM26
 55236  __3303:
 55237  	goto L_RM27
 55238  __3304:
 55239  	goto L_RM28
 55240  __3305:
 55241  	goto L_RM29
 55242  __3306:
 55243  	goto L_RM30
 55244  __3307:
 55245  	goto L_RM31
 55246  __3308:
 55247  	goto L_RM32
 55248  __3309:
 55249  	goto L_RM33
 55250  __3310:
 55251  	goto L_RM34
 55252  __3311:
 55253  	goto L_RM35
 55254  __3312:
 55255  	goto L_RM36
 55256  
 55257  __3313:
 55258  	goto L_RM100
 55259  __3314:
 55260  	goto L_RM101
 55261  
 55262  __3315:
 55263  	goto L_RM200
 55264  __3316:
 55265  	goto L_RM201
 55266  __3317:
 55267  	goto L_RM202
 55268  __3318:
 55269  	goto L_RM203
 55270  __3319:
 55271  	goto L_RM204
 55272  __3320:
 55273  	goto L_RM205
 55274  __3321:
 55275  	goto L_RM206
 55276  __3322:
 55277  	goto L_RM207
 55278  __3323:
 55279  	goto L_RM208
 55280  __3324:
 55281  	goto L_RM209
 55282  __3325:
 55283  	goto L_RM210
 55284  __3326:
 55285  	goto L_RM211
 55286  __3327:
 55287  	goto L_RM212
 55288  __3328:
 55289  	goto L_RM213
 55290  __3329:
 55291  	goto L_RM214
 55292  __3330:
 55293  	goto L_RM215
 55294  __3331:
 55295  	goto L_RM216
 55296  __3332:
 55297  	goto L_RM217
 55298  __3333:
 55299  	goto L_RM218
 55300  __3334:
 55301  	goto L_RM219
 55302  __3335:
 55303  	goto L_RM220
 55304  __3336:
 55305  	goto L_RM221
 55306  __3337:
 55307  	goto L_RM222
 55308  __3338:
 55309  	goto L_RM223
 55310  __3339:
 55311  	goto L_RM224
 55312  __3340:
 55313  	goto L_RM225
 55314  
 55315  __3341:
 55316  	return -44
 55317  __3276:
 55318  	;
 55319  	return int32(0)
 55320  }
 55321  
 55322  // ************************************************
 55323  //
 55324  //           Match a Regular Expression           *
 55325  //
 55326  
 55327  // This function applies a compiled pattern to a subject string and picks out
 55328  // portions of the string if it matches. Two elements in the vector are set for
 55329  // each substring: the offsets to the start and end of the substring.
 55330  //
 55331  // Arguments:
 55332  //   code            points to the compiled expression
 55333  //   subject         points to the subject string
 55334  //   length          length of subject string (may contain binary zeros)
 55335  //   start_offset    where to start in the subject string
 55336  //   options         option bits
 55337  //   match_data      points to a match_data block
 55338  //   mcontext        points a PCRE2 context
 55339  //
 55340  // Returns:          > 0 => success; value is the number of ovector pairs filled
 55341  //                   = 0 => success, but ovector is not big enough
 55342  //                   = -1 => failed to match (PCRE2_ERROR_NOMATCH)
 55343  //                   = -2 => partial match (PCRE2_ERROR_PARTIAL)
 55344  //                   < -2 => some kind of unexpected problem
 55345  
 55346  func Xpcre2_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_match.c:6297:1: */
 55347  	bp := tls.Alloc(20880)
 55348  	defer tls.Free(20880)
 55349  
 55350  	var rc int32
 55351  	var was_zero_terminated int32
 55352  	var start_bits uintptr
 55353  	var re uintptr
 55354  	var anchored TBOOL
 55355  	var firstline TBOOL
 55356  	var has_first_cu TBOOL
 55357  	var has_req_cu TBOOL
 55358  	var startline TBOOL
 55359  	var memchr_found_first_cu TPCRE2_SPTR8
 55360  	var memchr_found_first_cu2 TPCRE2_SPTR8
 55361  	var first_cu TPCRE2_UCHAR8
 55362  	var first_cu2 TPCRE2_UCHAR8
 55363  	var req_cu TPCRE2_UCHAR8
 55364  	var req_cu2 TPCRE2_UCHAR8
 55365  	var bumpalong_limit TPCRE2_SPTR8
 55366  	var end_subject TPCRE2_SPTR8
 55367  	var true_end_subject TPCRE2_SPTR8
 55368  	var start_match TPCRE2_SPTR8
 55369  	var req_cu_ptr TPCRE2_SPTR8
 55370  	var start_partial TPCRE2_SPTR8
 55371  	var match_partial TPCRE2_SPTR8
 55372  
 55373  	// This flag is needed even when Unicode is not supported for convenience
 55374  	// (it is used by the IS_NEWLINE macro).
 55375  
 55376  	var utf TBOOL
 55377  	var ucp TBOOL
 55378  	var allow_invalid TBOOL
 55379  	var fragment_options Tuint32_t
 55380  	var frame_size Tsize_t
 55381  
 55382  	// We need to have mb as a pointer to a match block, because the IS_NEWLINE
 55383  	// macro is used below, and it expects NLBLOCK to be defined as a pointer.
 55384  
 55385  	// var cb Tpcre2_callout_block_8 at bp+20768, 112
 55386  
 55387  	// var actual_match_block Tmatch_block_8 at bp, 288
 55388  
 55389  	var mb uintptr
 55390  
 55391  	// Allocate an initial vector of backtracking frames on the stack. If this
 55392  	// proves to be too small, it is replaced by a larger one on the heap. To get a
 55393  	// vector of the size required that is aligned for pointers, allocate it as a
 55394  	// vector of pointers.
 55395  
 55396  	// var stack_frames_vector [2560]TPCRE2_SPTR8 at bp+288, 20480
 55397  
 55398  	var i uint32
 55399  	var skipped_bad_start TBOOL
 55400  	var t TPCRE2_SPTR8
 55401  	var c TPCRE2_UCHAR8
 55402  	var ok TBOOL
 55403  	// In 16-bit and 32_bit modes we have to do our own search, so can
 55404  	//           look for both cases at once.
 55405  
 55406  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 55407  	//           though we have to call it twice in order to find the earliest
 55408  	//           occurrence of the code unit in either of its cases. Caching is used
 55409  	//           to remember the positions of previously found code units. This can
 55410  	//           make a huge difference when the strings are very long and only one
 55411  	//           case is actually present.
 55412  
 55413  	var pp1 TPCRE2_SPTR8
 55414  	var pp2 TPCRE2_SPTR8
 55415  	var searchlength Tsize_t
 55416  	var c1 Tuint32_t
 55417  	var pp TPCRE2_SPTR8
 55418  	var check_length Tsize_t
 55419  	var p TPCRE2_SPTR8
 55420  	var new_start_match TPCRE2_SPTR8
 55421  	was_zero_terminated = 0
 55422  	start_bits = uintptr(0)
 55423  	re = code
 55424  	has_first_cu = DFALSE
 55425  	has_req_cu = DFALSE
 55426  	first_cu = TPCRE2_UCHAR8(0)
 55427  	first_cu2 = TPCRE2_UCHAR8(0)
 55428  	req_cu = TPCRE2_UCHAR8(0)
 55429  	req_cu2 = TPCRE2_UCHAR8(0)
 55430  	utf = DFALSE
 55431  	ucp = DFALSE
 55432  	fragment_options = Tuint32_t(0)
 55433  	mb = bp                                                        /* &actual_match_block */
 55434  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames = bp + 288 /* stack_frames_vector */
 55435  
 55436  	// Recognize NULL, length 0 as an empty string.
 55437  
 55438  	if !(subject == uintptr(0) && length == uint64(0)) {
 55439  		goto __1
 55440  	}
 55441  	subject = ts + 797 /* "" */
 55442  __1:
 55443  	;
 55444  
 55445  	// Plausibility checks
 55446  
 55447  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_NO_JIT|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) {
 55448  		goto __2
 55449  	}
 55450  	return -34
 55451  __2:
 55452  	;
 55453  	if !(code == uintptr(0) || subject == uintptr(0) || match_data == uintptr(0)) {
 55454  		goto __3
 55455  	}
 55456  	return -51
 55457  __3:
 55458  	;
 55459  
 55460  	start_match = subject + uintptr(start_offset)
 55461  	req_cu_ptr = start_match - uintptr(1)
 55462  	if !(length == libc.CplUint64(uint64(0))) {
 55463  		goto __4
 55464  	}
 55465  
 55466  	length = X_pcre2_strlen_8(tls, subject)
 55467  	was_zero_terminated = 1
 55468  __4:
 55469  	;
 55470  	true_end_subject = libc.AssignUintptr(&end_subject, subject+uintptr(length))
 55471  
 55472  	if !(start_offset > length) {
 55473  		goto __5
 55474  	}
 55475  	return -33
 55476  __5:
 55477  	;
 55478  
 55479  	// Check that the first field in the block is the magic number.
 55480  
 55481  	if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 55482  		goto __6
 55483  	}
 55484  	return -31
 55485  __6:
 55486  	;
 55487  
 55488  	// Check the code unit width.
 55489  
 55490  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 55491  		goto __7
 55492  	}
 55493  	return -32
 55494  __7:
 55495  	;
 55496  
 55497  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 55498  	// options variable for this function. Users of PCRE2 who are not calling the
 55499  	// function directly would like to have a way of setting these flags, in the same
 55500  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 55501  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 55502  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which we now
 55503  	// transfer to the options for this function. The bits are guaranteed to be
 55504  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 55505  	// that the match-time bits are not more significant than the flag bits. If by
 55506  	// accident this is not the case, a compile-time division by zero error will
 55507  	// occur.
 55508  
 55509  	options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1))))
 55510  
 55511  	// If the pattern was successfully studied with JIT support, we will run the
 55512  	// JIT executable instead of the rest of this function. Most options must be set
 55513  	// at compile time for the JIT code to be usable.
 55514  
 55515  	// Initialize UTF/UCP parameters.
 55516  
 55517  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 55518  	allow_invalid = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0))
 55519  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 55520  
 55521  	// Convert the partial matching flags into an integer.
 55522  
 55523  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial = func() uint16 {
 55524  		if options&DPCRE2_PARTIAL_HARD != Tuint32_t(0) {
 55525  			return uint16(2)
 55526  		}
 55527  		return func() uint16 {
 55528  			if options&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) {
 55529  				return uint16(1)
 55530  			}
 55531  			return uint16(0)
 55532  		}()
 55533  	}()
 55534  
 55535  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 55536  	// time.
 55537  
 55538  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 55539  		goto __8
 55540  	}
 55541  	return -34
 55542  __8:
 55543  	;
 55544  
 55545  	// It is an error to set an offset limit without setting the flag at compile
 55546  	// time.
 55547  
 55548  	if !(mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0)) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 55549  		goto __9
 55550  	}
 55551  	return -56
 55552  __9:
 55553  	;
 55554  
 55555  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 55556  	// free the memory that was obtained. Set the field to NULL for no match cases.
 55557  
 55558  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 55559  		goto __10
 55560  	}
 55561  
 55562  	(*struct {
 55563  		f func(*libc.TLS, uintptr, uintptr)
 55564  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 55565  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 55566  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 55567  __10:
 55568  	;
 55569  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0)
 55570  
 55571  	// Zero the error offset in case the first code unit is invalid UTF.
 55572  
 55573  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = uint64(0)
 55574  
 55575  	// ============================= JIT matching ==============================
 55576  
 55577  	// Prepare for JIT matching. Check a UTF string for validity unless no check is
 55578  	// requested or invalid UTF can be handled. We check only the portion of the
 55579  	// subject that might be be inspected during matching - from the offset minus the
 55580  	// maximum lookbehind to the given length. This saves time when a small part of a
 55581  	// large subject is being matched by the use of a starting offset. Note that the
 55582  	// maximum lookbehind is a number of characters, not code units.
 55583  
 55584  	// ========================= End of JIT matching ==========================
 55585  
 55586  	// Proceed with non-JIT matching. The default is to allow lookbehinds to the
 55587  	// start of the subject. A UTF check when there is a non-zero offset may change
 55588  	// this.
 55589  
 55590  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = subject
 55591  
 55592  	// If a UTF subject string was not checked for validity in the JIT code above,
 55593  	// check it here, and handle support for invalid UTF strings. The check above
 55594  	// happens only when invalid UTF is not supported and PCRE2_NO_CHECK_UTF is unset.
 55595  	// If we get here in those circumstances, it means the subject string is valid,
 55596  	// but for some reason JIT matching was not successful. There is no need to check
 55597  	// the subject again.
 55598  	//
 55599  	// We check only the portion of the subject that might be be inspected during
 55600  	// matching - from the offset minus the maximum lookbehind to the given length.
 55601  	// This saves time when a small part of a large subject is being matched by the
 55602  	// use of a starting offset. Note that the maximum lookbehind is a number of
 55603  	// characters, not code units.
 55604  	//
 55605  	// Note also that support for invalid UTF forces a check, overriding the setting
 55606  	// of PCRE2_NO_CHECK_UTF.
 55607  
 55608  	if !(utf != 0 && (options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) || allow_invalid != 0)) {
 55609  		goto __11
 55610  	}
 55611  
 55612  	skipped_bad_start = DFALSE
 55613  
 55614  	// For 8-bit and 16-bit UTF, check that the first code unit is a valid
 55615  	//   character start. If we are handling invalid UTF, just skip over such code
 55616  	//   units. Otherwise, give an appropriate error.
 55617  
 55618  	if !(allow_invalid != 0) {
 55619  		goto __12
 55620  	}
 55621  
 55622  __14:
 55623  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55624  		goto __15
 55625  	}
 55626  
 55627  	start_match++
 55628  	skipped_bad_start = DTRUE
 55629  	goto __14
 55630  __15:
 55631  	;
 55632  	goto __13
 55633  __12:
 55634  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55635  		goto __16
 55636  	}
 55637  
 55638  	if !(start_offset > uint64(0)) {
 55639  		goto __17
 55640  	}
 55641  	return -36
 55642  __17:
 55643  	;
 55644  	return -22 // Isolated 0x80 byte
 55645  __16:
 55646  	;
 55647  __13:
 55648  	;
 55649  
 55650  	// The mb->check_subject field points to the start of UTF checking;
 55651  	//   lookbehinds can go back no further than this.
 55652  
 55653  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 55654  
 55655  	// Move back by the maximum lookbehind, just in case it happens at the very
 55656  	//   start of matching, but don't do this if we skipped bad 8-bit or 16-bit code
 55657  	//   units above.
 55658  
 55659  	if !!(skipped_bad_start != 0) {
 55660  		goto __18
 55661  	}
 55662  
 55663  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 55664  __19:
 55665  	if !(i > uint32(0) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject) {
 55666  		goto __21
 55667  	}
 55668  
 55669  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55670  __22:
 55671  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) {
 55672  		goto __23
 55673  	}
 55674  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55675  	goto __22
 55676  __23:
 55677  	;
 55678  	goto __20
 55679  __20:
 55680  	i--
 55681  	goto __19
 55682  	goto __21
 55683  __21:
 55684  	;
 55685  __18:
 55686  	;
 55687  
 55688  	// Validate the relevant portion of the subject. There's a loop in case we
 55689  	//   encounter bad UTF in the characters preceding start_match which we are
 55690  	//   scanning because of a lookbehind.
 55691  
 55692  __24:
 55693  
 55694  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject,
 55695  		length-Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)-int64(subject))/1), match_data+64)
 55696  
 55697  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc == 0) {
 55698  		goto __27
 55699  	}
 55700  	goto __26
 55701  __27:
 55702  	; // Valid UTF string
 55703  
 55704  	// Invalid UTF string. Adjust the offset to be an absolute offset in the
 55705  	//     whole string. If we are handling invalid UTF strings, set end_subject to
 55706  	//     stop before the bad code unit, and set the options to "not end of line".
 55707  	//     Otherwise return the error.
 55708  
 55709  	*(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) - int64(subject)) / 1)
 55710  	if !(!(allow_invalid != 0) || (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc > 0) {
 55711  		goto __28
 55712  	}
 55713  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 55714  __28:
 55715  	;
 55716  	end_subject = subject + uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar)
 55717  
 55718  	// If the end precedes start_match, it means there is invalid UTF in the
 55719  	//     extra code units we reversed over because of a lookbehind. Advance past the
 55720  	//     first bad code unit, and then skip invalid character starting code units in
 55721  	//     8-bit and 16-bit modes, and try again with the original end point.
 55722  
 55723  	if !(end_subject < start_match) {
 55724  		goto __29
 55725  	}
 55726  
 55727  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = end_subject + uintptr(1)
 55728  __31:
 55729  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject < start_match && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) {
 55730  		goto __32
 55731  	}
 55732  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject++
 55733  	goto __31
 55734  __32:
 55735  	;
 55736  	end_subject = true_end_subject
 55737  	goto __30
 55738  __29:
 55739  
 55740  	fragment_options = DPCRE2_NOTEOL
 55741  	goto __26
 55742  __30:
 55743  	;
 55744  	goto __25
 55745  __25:
 55746  	goto __24
 55747  	goto __26
 55748  __26:
 55749  	;
 55750  __11:
 55751  	;
 55752  
 55753  	// A NULL match context means "use a default context", but we take the memory
 55754  	// control functions from the pattern.
 55755  
 55756  	if !(mcontext == uintptr(0)) {
 55757  		goto __33
 55758  	}
 55759  
 55760  	mcontext = uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8))
 55761  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 55762  	goto __34
 55763  __33:
 55764  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 55765  __34:
 55766  	;
 55767  
 55768  	anchored = libc.Bool32(((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ANCHORED != Tuint32_t(0))
 55769  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 55770  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 55771  	if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit == libc.CplUint64(uint64(0)) {
 55772  		bumpalong_limit = true_end_subject
 55773  	} else {
 55774  		bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 55775  	}
 55776  
 55777  	// Initialize and set up the fixed fields in the callout block, with a pointer
 55778  	// in the match block.
 55779  
 55780  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb = bp + 20768 /* &cb */
 55781  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fversion = Tuint32_t(2)
 55782  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject = subject
 55783  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 55784  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 55785  
 55786  	// Fill in the remaining fields in the match block, except for moptions, which
 55787  	// gets set later.
 55788  
 55789  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 55790  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 55791  
 55792  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 55793  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 55794  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 55795  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASTHEN) != Tuint32_t(0))
 55796  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0))
 55797  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options // Pattern options
 55798  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 55799  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = libc.AssignPtrUintptr(mb+208, uintptr(0)) // In case never set
 55800  
 55801  	// The name table is needed for finding all the numbers associated with a
 55802  	// given name, for condition testing. The code follows the name table.
 55803  
 55804  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 55805  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_count = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count
 55806  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size
 55807  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 55808  
 55809  	// Process the \R and newline settings.
 55810  
 55811  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 55812  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 55813  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 55814  	case DPCRE2_NEWLINE_CR:
 55815  		goto __36
 55816  
 55817  	case DPCRE2_NEWLINE_LF:
 55818  		goto __37
 55819  
 55820  	case DPCRE2_NEWLINE_NUL:
 55821  		goto __38
 55822  
 55823  	case DPCRE2_NEWLINE_CRLF:
 55824  		goto __39
 55825  
 55826  	case DPCRE2_NEWLINE_ANY:
 55827  		goto __40
 55828  
 55829  	case DPCRE2_NEWLINE_ANYCRLF:
 55830  		goto __41
 55831  
 55832  	default:
 55833  		goto __42
 55834  	}
 55835  	goto __35
 55836  
 55837  __36:
 55838  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55839  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015')
 55840  	goto __35
 55841  
 55842  __37:
 55843  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55844  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\012')
 55845  	goto __35
 55846  
 55847  __38:
 55848  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55849  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8(0)
 55850  	goto __35
 55851  
 55852  __39:
 55853  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 55854  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015')
 55855  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)) = TPCRE2_UCHAR8('\012')
 55856  	goto __35
 55857  
 55858  __40:
 55859  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 55860  	goto __35
 55861  
 55862  __41:
 55863  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 55864  	goto __35
 55865  
 55866  __42:
 55867  	return -44
 55868  __35:
 55869  	;
 55870  
 55871  	// The backtracking frames have fixed data at the front, and a PCRE2_SIZE
 55872  	// vector at the end, whose size depends on the number of capturing parentheses in
 55873  	// the pattern. It is not used at all if there are no capturing parentheses.
 55874  	//
 55875  	//   frame_size             is the total size of each frame
 55876  	//   mb->frame_vector_size  is the total usable size of the vector (rounded down
 55877  	//                            to a whole number of frames)
 55878  	//
 55879  	// The last of these is changed within the match() function if the frame vector
 55880  	// has to be expanded. We therefore put it into the match block so that it is
 55881  	// correct when calling match() more than once for non-anchored patterns.
 55882  	//
 55883  	// We must also pad frame_size for alignment to ensure subsequent frames are as
 55884  	// aligned as heapframe. Whilst ovector is word-aligned due to being a PCRE2_SIZE
 55885  	// array, that does not guarantee it is suitably aligned for pointers, as some
 55886  	// architectures have pointers that are larger than a size_t.
 55887  
 55888  	frame_size = (uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0))) + uint64(uintptr(0)+8) - uint64(1)) & libc.CplUint64(uint64(uintptr(0)+8)-uint64(1))
 55889  
 55890  	// Limits set in the pattern override the match context only if they are
 55891  	// smaller.
 55892  
 55893  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit = func() uint64 {
 55894  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap {
 55895  			return uint64((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 55896  		}
 55897  		return uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 55898  	}()
 55899  
 55900  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit = func() uint32 {
 55901  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match {
 55902  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 55903  		}
 55904  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 55905  	}()
 55906  
 55907  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = func() uint32 {
 55908  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth {
 55909  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 55910  		}
 55911  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 55912  	}()
 55913  
 55914  	// If a pattern has very many capturing parentheses, the frame size may be very
 55915  	// large. Ensure that there are at least 10 available frames by getting an initial
 55916  	// vector on the heap if necessary, except when the heap limit prevents this. Get
 55917  	// fewer if possible. (The heap limit is in kibibytes.)
 55918  
 55919  	if !(frame_size <= uint64(DSTART_FRAMES_SIZE/10)) {
 55920  		goto __43
 55921  	}
 55922  
 55923  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames // Initial frame vector on the stack
 55924  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = uint64(DSTART_FRAMES_SIZE) / frame_size * frame_size
 55925  	goto __44
 55926  __43:
 55927  
 55928  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = frame_size * uint64(10)
 55929  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 55930  		goto __45
 55931  	}
 55932  
 55933  	if !(frame_size > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit*uint64(1024)) {
 55934  		goto __46
 55935  	}
 55936  	return -63
 55937  __46:
 55938  	;
 55939  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size
 55940  __45:
 55941  	;
 55942  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*struct {
 55943  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 55944  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size,
 55945  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 55946  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames == uintptr(0)) {
 55947  		goto __47
 55948  	}
 55949  	return -48
 55950  __47:
 55951  	;
 55952  __44:
 55953  	;
 55954  
 55955  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size)
 55956  
 55957  	// Write to the ovector within the first frame to mark every capture unset and
 55958  	// to avoid uninitialized memory read errors when it is copied to a new frame.
 55959  
 55960  	libc.Xmemset(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames+uintptr(uint64(uintptr(0)+128)), 0xff,
 55961  		frame_size-Tsize_t(uintptr(0)+128))
 55962  
 55963  	// Pointers to the individual character tables
 55964  
 55965  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dlcc_offset)
 55966  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset)
 55967  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 55968  
 55969  	// Set up the first code unit to match, if available. If there's no first code
 55970  	// unit there may be a bitmap of possible first characters.
 55971  
 55972  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 55973  		goto __48
 55974  	}
 55975  
 55976  	has_first_cu = DTRUE
 55977  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 55978  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 55979  		goto __50
 55980  	}
 55981  
 55982  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(first_cu)))
 55983  	if !(int32(first_cu) > 127 && ucp != 0 && !(utf != 0)) {
 55984  		goto __51
 55985  	}
 55986  	first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 55987  __51:
 55988  	;
 55989  __50:
 55990  	;
 55991  	goto __49
 55992  __48:
 55993  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 55994  		goto __52
 55995  	}
 55996  	start_bits = re + 40 /* &.start_bitmap */
 55997  __52:
 55998  	;
 55999  __49:
 56000  	;
 56001  
 56002  	// There may also be a "last known required character" set.
 56003  
 56004  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 56005  		goto __53
 56006  	}
 56007  
 56008  	has_req_cu = DTRUE
 56009  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 56010  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 56011  		goto __54
 56012  	}
 56013  
 56014  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(req_cu)))
 56015  	if !(int32(req_cu) > 127 && ucp != 0 && !(utf != 0)) {
 56016  		goto __55
 56017  	}
 56018  	req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 56019  __55:
 56020  	;
 56021  __54:
 56022  	;
 56023  __53:
 56024  	;
 56025  
 56026  	// ==========================================================================
 56027  
 56028  	// Loop for handling unanchored repeated matching attempts; for anchored regexs
 56029  	// the loop runs just once.
 56030  
 56031  FRAGMENT_RESTART:
 56032  
 56033  	start_partial = libc.AssignUintptr(&match_partial, uintptr(0))
 56034  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DFALSE
 56035  
 56036  	memchr_found_first_cu = uintptr(0)
 56037  	memchr_found_first_cu2 = uintptr(0)
 56038  
 56039  __56:
 56040  
 56041  	// ----------------- Start of match optimizations ----------------
 56042  
 56043  	// There are some optimizations that avoid running the match if a known
 56044  	//   starting point is not found, or if a known later code unit is not present.
 56045  	//   However, there is an option (settable at compile time) that disables these,
 56046  	//   for testing and for ensuring that all callouts do actually occur.
 56047  
 56048  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 56049  		goto __59
 56050  	}
 56051  
 56052  	// If firstline is TRUE, the start of the match is constrained to the first
 56053  	//     line of a multiline string. That is, the match must be before or at the
 56054  	//     first newline following the start of matching. Temporarily adjust
 56055  	//     end_subject so that we stop the scans for a first code unit at a newline.
 56056  	//     If the match fails at the newline, later code breaks the loop.
 56057  
 56058  	if !(firstline != 0) {
 56059  		goto __60
 56060  	}
 56061  
 56062  	t = start_match
 56063  	if !(utf != 0) {
 56064  		goto __61
 56065  	}
 56066  
 56067  __63:
 56068  	if !(t < end_subject && !(func() int32 {
 56069  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56070  			return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56071  		}
 56072  		return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56073  	}() != 0)) {
 56074  		goto __64
 56075  	}
 56076  
 56077  	t++
 56078  __65:
 56079  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 56080  		goto __66
 56081  	}
 56082  	t++
 56083  	goto __65
 56084  __66:
 56085  	;
 56086  	goto __63
 56087  __64:
 56088  	;
 56089  	goto __62
 56090  __61:
 56091  __67:
 56092  	if !(t < end_subject && !(func() int32 {
 56093  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56094  			return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56095  		}
 56096  		return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56097  	}() != 0)) {
 56098  		goto __68
 56099  	}
 56100  	t++
 56101  	goto __67
 56102  __68:
 56103  	;
 56104  __62:
 56105  	;
 56106  	end_subject = t
 56107  __60:
 56108  	;
 56109  
 56110  	// Anchored: check the first code unit if one is recorded. This may seem
 56111  	//     pointless but it can help in detecting a no match case without scanning for
 56112  	//     the required code unit.
 56113  
 56114  	if !(anchored != 0) {
 56115  		goto __69
 56116  	}
 56117  
 56118  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 56119  		goto __71
 56120  	}
 56121  
 56122  	ok = libc.Bool32(start_match < end_subject)
 56123  	if !(ok != 0) {
 56124  		goto __72
 56125  	}
 56126  
 56127  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 56128  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 56129  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 56130  		goto __73
 56131  	}
 56132  
 56133  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 56134  __73:
 56135  	;
 56136  __72:
 56137  	;
 56138  	if !!(ok != 0) {
 56139  		goto __74
 56140  	}
 56141  
 56142  	rc = DMATCH_NOMATCH
 56143  	goto __58
 56144  __74:
 56145  	;
 56146  __71:
 56147  	;
 56148  	goto __70
 56149  __69:
 56150  
 56151  	if !(has_first_cu != 0) {
 56152  		goto __75
 56153  	}
 56154  
 56155  	if !(int32(first_cu) != int32(first_cu2)) {
 56156  		goto __77
 56157  	} /* Caseless */
 56158  
 56159  	// In 16-bit and 32_bit modes we have to do our own search, so can
 56160  	//           look for both cases at once.
 56161  
 56162  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 56163  	//           though we have to call it twice in order to find the earliest
 56164  	//           occurrence of the code unit in either of its cases. Caching is used
 56165  	//           to remember the positions of previously found code units. This can
 56166  	//           make a huge difference when the strings are very long and only one
 56167  	//           case is actually present.
 56168  
 56169  	pp1 = uintptr(0)
 56170  	pp2 = uintptr(0)
 56171  	searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 56172  
 56173  	// If we haven't got a previously found position for first_cu, or if
 56174  	//           the current starting position is later, we need to do a search. If
 56175  	//           the code unit is not found, set it to the end.
 56176  
 56177  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 56178  		goto __79
 56179  	}
 56180  
 56181  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 56182  	if pp1 == uintptr(0) {
 56183  		memchr_found_first_cu = end_subject
 56184  	} else {
 56185  		memchr_found_first_cu = pp1
 56186  	}
 56187  	goto __80
 56188  __79:
 56189  	if memchr_found_first_cu == end_subject {
 56190  		pp1 = uintptr(0)
 56191  	} else {
 56192  		pp1 = memchr_found_first_cu
 56193  	}
 56194  __80:
 56195  	;
 56196  
 56197  	// Do the same thing for the other case.
 56198  
 56199  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 56200  		goto __81
 56201  	}
 56202  
 56203  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 56204  	if pp2 == uintptr(0) {
 56205  		memchr_found_first_cu2 = end_subject
 56206  	} else {
 56207  		memchr_found_first_cu2 = pp2
 56208  	}
 56209  	goto __82
 56210  __81:
 56211  	if memchr_found_first_cu2 == end_subject {
 56212  		pp2 = uintptr(0)
 56213  	} else {
 56214  		pp2 = memchr_found_first_cu2
 56215  	}
 56216  __82:
 56217  	;
 56218  
 56219  	// Set the start to the end of the subject if neither case was found.
 56220  	//           Otherwise, use the earlier found point.
 56221  
 56222  	if !(pp1 == uintptr(0)) {
 56223  		goto __83
 56224  	}
 56225  	if pp2 == uintptr(0) {
 56226  		start_match = end_subject
 56227  	} else {
 56228  		start_match = pp2
 56229  	}
 56230  	goto __84
 56231  __83:
 56232  	if pp2 == uintptr(0) || pp1 < pp2 {
 56233  		start_match = pp1
 56234  	} else {
 56235  		start_match = pp2
 56236  	}
 56237  __84:
 56238  	;
 56239  
 56240  	goto __78
 56241  __77:
 56242  
 56243  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1))
 56244  	if !(start_match == uintptr(0)) {
 56245  		goto __85
 56246  	}
 56247  	start_match = end_subject
 56248  __85:
 56249  	;
 56250  __78:
 56251  	;
 56252  
 56253  	// If we can't find the required first code unit, having reached the
 56254  	//         true end of the subject, break the bumpalong loop, to force a match
 56255  	//         failure, except when doing partial matching, when we let the next cycle
 56256  	//         run at the end of the subject. To see why, consider the pattern
 56257  	//         /(?<=abc)def/, which partially matches "abc", even though the string
 56258  	//         does not contain the starting character "d". If we have not reached the
 56259  	//         true end of the subject (PCRE2_FIRSTLINE caused end_subject to be
 56260  	//         temporarily modified) we also let the cycle run, because the matching
 56261  	//         string is legitimately allowed to start with the first code unit of a
 56262  	//         newline.
 56263  
 56264  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56265  		goto __86
 56266  	}
 56267  
 56268  	rc = DMATCH_NOMATCH
 56269  	goto __58
 56270  __86:
 56271  	;
 56272  	goto __76
 56273  __75:
 56274  	if !(startline != 0) {
 56275  		goto __87
 56276  	}
 56277  
 56278  	if !(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 56279  		goto __89
 56280  	}
 56281  
 56282  	if !(utf != 0) {
 56283  		goto __90
 56284  	}
 56285  
 56286  __92:
 56287  	if !(start_match < end_subject && !(func() int32 {
 56288  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56289  			return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 56290  		}
 56291  		return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56292  	}() != 0)) {
 56293  		goto __93
 56294  	}
 56295  
 56296  	start_match++
 56297  __94:
 56298  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56299  		goto __95
 56300  	}
 56301  	start_match++
 56302  	goto __94
 56303  __95:
 56304  	;
 56305  	goto __92
 56306  __93:
 56307  	;
 56308  	goto __91
 56309  __90:
 56310  __96:
 56311  	if !(start_match < end_subject && !(func() int32 {
 56312  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56313  			return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 56314  		}
 56315  		return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56316  	}() != 0)) {
 56317  		goto __97
 56318  	}
 56319  	start_match++
 56320  	goto __96
 56321  __97:
 56322  	;
 56323  __91:
 56324  	;
 56325  
 56326  	// If we have just passed a CR and the newline option is ANY or
 56327  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 56328  	//           more code unit.
 56329  
 56330  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') {
 56331  		goto __98
 56332  	}
 56333  	start_match++
 56334  __98:
 56335  	;
 56336  __89:
 56337  	;
 56338  	goto __88
 56339  __87:
 56340  	if !(start_bits != uintptr(0)) {
 56341  		goto __99
 56342  	}
 56343  
 56344  __100:
 56345  	if !(start_match < end_subject) {
 56346  		goto __101
 56347  	}
 56348  
 56349  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 56350  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 56351  		goto __102
 56352  	}
 56353  	goto __101
 56354  __102:
 56355  	;
 56356  	start_match++
 56357  	goto __100
 56358  __101:
 56359  	;
 56360  
 56361  	// See comment above in first_cu checking about the next few lines.
 56362  
 56363  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56364  		goto __103
 56365  	}
 56366  
 56367  	rc = DMATCH_NOMATCH
 56368  	goto __58
 56369  __103:
 56370  	;
 56371  __99:
 56372  	;
 56373  __88:
 56374  	;
 56375  __76:
 56376  	;
 56377  __70:
 56378  	; // End first code unit handling
 56379  
 56380  	// Restore fudged end_subject
 56381  
 56382  	end_subject = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 56383  
 56384  	// The following two optimizations must be disabled for partial matching.
 56385  
 56386  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0) {
 56387  		goto __104
 56388  	}
 56389  
 56390  	// The minimum matching length is a lower bound; no string of that length
 56391  	//       may actually match the pattern. Although the value is, strictly, in
 56392  	//       characters, we treat it as code units to avoid spending too much time in
 56393  	//       this optimization.
 56394  
 56395  	if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 56396  		goto __105
 56397  	}
 56398  
 56399  	rc = DMATCH_NOMATCH
 56400  	goto __58
 56401  __105:
 56402  	;
 56403  
 56404  	// If req_cu is set, we know that that code unit must appear in the
 56405  	//       subject for the (non-partial) match to succeed. If the first code unit is
 56406  	//       set, req_cu must be later in the subject; otherwise the test starts at
 56407  	//       the match point. This optimization can save a huge amount of backtracking
 56408  	//       in patterns with nested unlimited repeats that aren't going to match.
 56409  	//       Writing separate code for caseful/caseless versions makes it go faster,
 56410  	//       as does using an autoincrement and backing off on a match. As in the case
 56411  	//       of the first code unit, using memchr() in the 8-bit library gives a big
 56412  	//       speed up. Unlike the first_cu check above, we do not need to call
 56413  	//       memchr() twice in the caseless case because we only need to check for the
 56414  	//       presence of the character in either case, not find the first occurrence.
 56415  	//
 56416  	//       The search can be skipped if the code unit was found later than the
 56417  	//       current starting point in a previous iteration of the bumpalong loop.
 56418  	//
 56419  	//       HOWEVER: when the subject string is very, very long, searching to its end
 56420  	//       can take a long time, and give bad performance on quite ordinary
 56421  	//       anchored patterns. This showed up when somebody was matching something
 56422  	//       like /^\d+C/ on a 32-megabyte string... so we don't do this when the
 56423  	//       string is sufficiently long, but it's worth searching a lot more for
 56424  	//       unanchored patterns.
 56425  
 56426  	p = start_match + uintptr(func() int32 {
 56427  		if has_first_cu != 0 {
 56428  			return 1
 56429  		}
 56430  		return 0
 56431  	}())
 56432  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 56433  		goto __106
 56434  	}
 56435  
 56436  	check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 56437  
 56438  	if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) {
 56439  		goto __107
 56440  	}
 56441  
 56442  	if !(int32(req_cu) != int32(req_cu2)) {
 56443  		goto __108
 56444  	} /* Caseless */
 56445  
 56446  	pp = p
 56447  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1))
 56448  	if !(p == uintptr(0)) {
 56449  		goto __110
 56450  	}
 56451  
 56452  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1))
 56453  	if !(p == uintptr(0)) {
 56454  		goto __111
 56455  	}
 56456  	p = end_subject
 56457  __111:
 56458  	;
 56459  __110:
 56460  	;
 56461  	goto __109
 56462  __108:
 56463  
 56464  	p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1))
 56465  	if !(p == uintptr(0)) {
 56466  		goto __112
 56467  	}
 56468  	p = end_subject
 56469  __112:
 56470  	;
 56471  __109:
 56472  	;
 56473  
 56474  	// If we can't find the required code unit, break the bumpalong loop,
 56475  	//           forcing a match failure.
 56476  
 56477  	if !(p >= end_subject) {
 56478  		goto __113
 56479  	}
 56480  
 56481  	rc = DMATCH_NOMATCH
 56482  	goto __58
 56483  __113:
 56484  	;
 56485  
 56486  	// If we have found the required code unit, save the point where we
 56487  	//           found it, so that we don't search again next time round the bumpalong
 56488  	//           loop if the start hasn't yet passed this code unit.
 56489  
 56490  	req_cu_ptr = p
 56491  __107:
 56492  	;
 56493  __106:
 56494  	;
 56495  __104:
 56496  	;
 56497  __59:
 56498  	;
 56499  
 56500  	// ------------ End of start of match optimizations ------------
 56501  
 56502  	// Give no match if we have passed the bumpalong limit.
 56503  
 56504  	if !(start_match > bumpalong_limit) {
 56505  		goto __114
 56506  	}
 56507  
 56508  	rc = DMATCH_NOMATCH
 56509  	goto __58
 56510  __114:
 56511  	;
 56512  
 56513  	// OK, we can now run the match. If "hitend" is set afterwards, remember the
 56514  	//   first starting point for which a partial match was found.
 56515  
 56516  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fstart_match = Tsize_t((int64(start_match) - int64(subject)) / 1)
 56517  	*(*Tuint32_t)(unsafe.Pointer(bp + 20768 + 104)) |= DPCRE2_CALLOUT_STARTMATCH
 56518  
 56519  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 56520  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 56521  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions = options | fragment_options
 56522  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 56523  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = uint64(0)
 56524  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count = Tuint32_t(0)
 56525  
 56526  	rc = match(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code, match_data+80,
 56527  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket, frame_size, mb)
 56528  
 56529  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend != 0 && start_partial == uintptr(0)) {
 56530  		goto __115
 56531  	}
 56532  
 56533  	start_partial = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr
 56534  	match_partial = start_match
 56535  __115:
 56536  	;
 56537  
 56538  	switch rc {
 56539  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56540  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56541  	//     entirely. The only way we can do that is to re-do the match at the same
 56542  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56543  	//     treating this case as NOMATCH does not work because it does not check other
 56544  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56545  
 56546  	case -994:
 56547  		goto __117
 56548  
 56549  	// SKIP passes back the next starting point explicitly, but if it is no
 56550  	//     greater than the match we have just done, treat it as NOMATCH.
 56551  
 56552  	case -995:
 56553  		goto __118
 56554  	// Fall through
 56555  
 56556  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56557  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56558  
 56559  	case DMATCH_NOMATCH:
 56560  		goto __119
 56561  	case -996:
 56562  		goto __120
 56563  	case -993:
 56564  		goto __121
 56565  
 56566  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56567  
 56568  	case -997:
 56569  		goto __122
 56570  
 56571  	// Any other return is either a match, or some kind of error.
 56572  
 56573  	default:
 56574  		goto __123
 56575  	}
 56576  	goto __116
 56577  
 56578  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56579  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56580  	//     entirely. The only way we can do that is to re-do the match at the same
 56581  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56582  	//     treating this case as NOMATCH does not work because it does not check other
 56583  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56584  
 56585  __117:
 56586  	new_start_match = start_match
 56587  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count
 56588  	goto __116
 56589  
 56590  	// SKIP passes back the next starting point explicitly, but if it is no
 56591  	//     greater than the match we have just done, treat it as NOMATCH.
 56592  
 56593  __118:
 56594  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr > start_match) {
 56595  		goto __124
 56596  	}
 56597  
 56598  	new_start_match = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr
 56599  	goto __116
 56600  __124:
 56601  	;
 56602  	// Fall through
 56603  
 56604  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56605  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56606  
 56607  __119:
 56608  __120:
 56609  __121:
 56610  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 56611  	new_start_match = start_match + uintptr(1)
 56612  	if !(utf != 0) {
 56613  		goto __125
 56614  	}
 56615  __126:
 56616  	if !(new_start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(new_start_match)))&0xc0 == 0x80) {
 56617  		goto __127
 56618  	}
 56619  	new_start_match++
 56620  	goto __126
 56621  __127:
 56622  	;
 56623  __125:
 56624  	;
 56625  	goto __116
 56626  
 56627  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56628  
 56629  __122:
 56630  	rc = DMATCH_NOMATCH
 56631  	goto ENDLOOP
 56632  
 56633  	// Any other return is either a match, or some kind of error.
 56634  
 56635  __123:
 56636  	goto ENDLOOP
 56637  __116:
 56638  	;
 56639  
 56640  	// Control reaches here for the various types of "no match at this point"
 56641  	//   result. Reset the code to MATCH_NOMATCH for subsequent checking.
 56642  
 56643  	rc = DMATCH_NOMATCH
 56644  
 56645  	// If PCRE2_FIRSTLINE is set, the match must happen before or at the first
 56646  	//   newline in the subject (though it may continue over the newline). Therefore,
 56647  	//   if we have just failed to match, starting at a newline, do not continue.
 56648  
 56649  	if !(firstline != 0 && func() int32 {
 56650  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56651  			return libc.Bool32(start_match < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56652  		}
 56653  		return libc.Bool32(start_match <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56654  	}() != 0) {
 56655  		goto __128
 56656  	}
 56657  	goto __58
 56658  __128:
 56659  	;
 56660  
 56661  	// Advance to new matching position
 56662  
 56663  	start_match = new_start_match
 56664  
 56665  	// Break the loop if the pattern is anchored or if we have passed the end of
 56666  	//   the subject.
 56667  
 56668  	if !(anchored != 0 || start_match > end_subject) {
 56669  		goto __129
 56670  	}
 56671  	goto __58
 56672  __129:
 56673  	;
 56674  
 56675  	// If we have just passed a CR and we are now at a LF, and the pattern does
 56676  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 56677  	//   or ANY or ANYCRLF, advance the match position by one more code unit. In
 56678  	//   normal matching start_match will aways be greater than the first position at
 56679  	//   this stage, but a failed *SKIP can cause a return at the same point, which is
 56680  	//   why the first test exists.
 56681  
 56682  	if !(start_match > subject+uintptr(start_offset) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) {
 56683  		goto __130
 56684  	}
 56685  	start_match++
 56686  __130:
 56687  	;
 56688  
 56689  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = uintptr(0) // Reset for start of next match attempt
 56690  	goto __57
 56691  __57:
 56692  	goto __56
 56693  	goto __58
 56694  __58:
 56695  	; // End of for(;;) "bumpalong" loop
 56696  
 56697  	// ==========================================================================
 56698  
 56699  	// When we reach here, one of the following stopping conditions is true:
 56700  	//
 56701  	// (1) The match succeeded, either completely, or partially;
 56702  	//
 56703  	// (2) The pattern is anchored or the match was failed after (*COMMIT);
 56704  	//
 56705  	// (3) We are past the end of the subject or the bumpalong limit;
 56706  	//
 56707  	// (4) PCRE2_FIRSTLINE is set and we have failed to match at a newline, because
 56708  	//     this option requests that a match occur at or before the first newline in
 56709  	//     the subject.
 56710  	//
 56711  	// (5) Some kind of error occurred.
 56712  	//
 56713  
 56714  ENDLOOP:
 56715  
 56716  	// If end_subject != true_end_subject, it means we are handling invalid UTF,
 56717  	// and have just processed a non-terminal fragment. If this resulted in no match
 56718  	// or a partial match we must carry on to the next fragment (a partial match is
 56719  	// returned to the caller only at the very end of the subject). A loop is used to
 56720  	// avoid trying to match against empty fragments; if the pattern can match an
 56721  	// empty string it would have done so already.
 56722  
 56723  	if !(utf != 0 && end_subject != true_end_subject && (rc == DMATCH_NOMATCH || rc == -2)) {
 56724  		goto __131
 56725  	}
 56726  
 56727  __132:
 56728  
 56729  	// Advance past the first bad code unit, and then skip invalid character
 56730  	//     starting code units in 8-bit and 16-bit modes.
 56731  
 56732  	start_match = end_subject + uintptr(1)
 56733  
 56734  __135:
 56735  	if !(start_match < true_end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56736  		goto __136
 56737  	}
 56738  	start_match++
 56739  	goto __135
 56740  __136:
 56741  	;
 56742  
 56743  	// If we have hit the end of the subject, there isn't another non-empty
 56744  	//     fragment, so give up.
 56745  
 56746  	if !(start_match >= true_end_subject) {
 56747  		goto __137
 56748  	}
 56749  
 56750  	rc = DMATCH_NOMATCH // In case it was partial
 56751  	goto __134
 56752  __137:
 56753  	;
 56754  
 56755  	// Check the rest of the subject
 56756  
 56757  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 56758  	rc = X_pcre2_valid_utf_8(tls, start_match, length-Tsize_t((int64(start_match)-int64(subject))/1),
 56759  		match_data+64)
 56760  
 56761  	// The rest of the subject is valid UTF.
 56762  
 56763  	if !(rc == 0) {
 56764  		goto __138
 56765  	}
 56766  
 56767  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, true_end_subject)
 56768  	fragment_options = DPCRE2_NOTBOL
 56769  	goto FRAGMENT_RESTART
 56770  	goto __139
 56771  __138:
 56772  	if !(rc < 0) {
 56773  		goto __140
 56774  	}
 56775  
 56776  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, start_match+uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar))
 56777  	if !(end_subject > start_match) {
 56778  		goto __141
 56779  	}
 56780  
 56781  	fragment_options = DPCRE2_NOTBOL | DPCRE2_NOTEOL
 56782  	goto FRAGMENT_RESTART
 56783  __141:
 56784  	;
 56785  __140:
 56786  	;
 56787  __139:
 56788  	;
 56789  	goto __133
 56790  __133:
 56791  	goto __132
 56792  	goto __134
 56793  __134:
 56794  	;
 56795  __131:
 56796  	;
 56797  
 56798  	// Release an enlarged frame vector that is on the heap.
 56799  
 56800  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 56801  		goto __142
 56802  	}
 56803  	(*struct {
 56804  		f func(*libc.TLS, uintptr, uintptr)
 56805  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 56806  __142:
 56807  	;
 56808  
 56809  	// Fill in fields that are always returned in the match data.
 56810  
 56811  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 56812  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark
 56813  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_INTERPRETER
 56814  
 56815  	// Handle a fully successful match. Set the return code to the number of
 56816  	// captured strings, or 0 if there were too many to fit into the ovector, and then
 56817  	// set the remaining returned values before returning. Make a copy of the subject
 56818  	// string if requested.
 56819  
 56820  	if !(rc == DMATCH_MATCH) {
 56821  		goto __143
 56822  	}
 56823  
 56824  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = func() int32 {
 56825  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top) >= 2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 56826  			return 0
 56827  		}
 56828  		return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top)/2 + 1
 56829  	}()
 56830  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1)
 56831  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1)
 56832  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((func() int64 {
 56833  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr {
 56834  			return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr)
 56835  		}
 56836  		return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr)
 56837  	}() - int64(subject)) / 1)
 56838  	if !(options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 56839  		goto __144
 56840  	}
 56841  
 56842  	length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 56843  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 56844  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 56845  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 56846  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56847  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 56848  		goto __146
 56849  	}
 56850  	return -48
 56851  __146:
 56852  	;
 56853  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 56854  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 56855  	goto __145
 56856  __144:
 56857  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56858  __145:
 56859  	;
 56860  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56861  __143:
 56862  	;
 56863  
 56864  	// Control gets here if there has been a partial match, an error, or if the
 56865  	// overall match attempt has failed at all permitted starting positions. Any mark
 56866  	// data is in the nomatch_mark field.
 56867  
 56868  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 56869  
 56870  	// For anything other than nomatch or partial match, just return the code.
 56871  
 56872  	if !(rc != DMATCH_NOMATCH && rc != -2) {
 56873  		goto __147
 56874  	}
 56875  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 56876  	goto __148
 56877  __147:
 56878  	if !(match_partial != uintptr(0)) {
 56879  		goto __149
 56880  	}
 56881  
 56882  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56883  	*(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(match_partial) - int64(subject)) / 1)
 56884  	*(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 56885  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(match_partial) - int64(subject)) / 1)
 56886  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64(start_partial) - int64(subject)) / 1)
 56887  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 56888  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -2
 56889  	goto __150
 56890  __149:
 56891  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -1
 56892  __150:
 56893  	;
 56894  __148:
 56895  	;
 56896  
 56897  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56898  }
 56899  
 56900  // End of pcre2_match.c
 56901  
 56902  // This function is needed only when memmove() is not available.
 56903  
 56904  // End of pcre2_internal.h
 56905  
 56906  // ************************************************
 56907  //
 56908  //  Create a match data block given ovector size  *
 56909  //
 56910  
 56911  // A minimum of 1 is imposed on the number of ovector pairs.
 56912  
 56913  func Xpcre2_match_data_create_8(tls *libc.TLS, oveccount Tuint32_t, gcontext uintptr) uintptr { /* pcre2_match_data.c:56:33: */
 56914  	var yield uintptr
 56915  	if oveccount < Tuint32_t(1) {
 56916  		oveccount = Tuint32_t(1)
 56917  	}
 56918  	yield = X_pcre2_memctl_malloc_8(tls,
 56919  		uint64(uintptr(0)+80)+uint64(Tuint32_t(2)*oveccount)*uint64(unsafe.Sizeof(Tsize_t(0))),
 56920  		gcontext)
 56921  	if yield == uintptr(0) {
 56922  		return uintptr(0)
 56923  	}
 56924  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Foveccount = Tuint16_t(oveccount)
 56925  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Fflags = Tuint8_t(0)
 56926  	return yield
 56927  }
 56928  
 56929  // ************************************************
 56930  //
 56931  //  Create a match data block using pattern data  *
 56932  //
 56933  
 56934  // If no context is supplied, use the memory allocator from the code.
 56935  
 56936  func Xpcre2_match_data_create_from_pattern_8(tls *libc.TLS, code uintptr, gcontext uintptr) uintptr { /* pcre2_match_data.c:78:33: */
 56937  	if gcontext == uintptr(0) {
 56938  		gcontext = code
 56939  	}
 56940  	return Xpcre2_match_data_create_8(tls, uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1),
 56941  		gcontext)
 56942  }
 56943  
 56944  // ************************************************
 56945  //
 56946  //            Free a match data block             *
 56947  //
 56948  
 56949  func Xpcre2_match_data_free_8(tls *libc.TLS, match_data uintptr) { /* pcre2_match_data.c:94:1: */
 56950  	if match_data != uintptr(0) {
 56951  		if uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0) {
 56952  			(*struct {
 56953  				f func(*libc.TLS, uintptr, uintptr)
 56954  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 56955  				(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56956  		}
 56957  		(*struct {
 56958  			f func(*libc.TLS, uintptr, uintptr)
 56959  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, match_data, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56960  	}
 56961  }
 56962  
 56963  // ************************************************
 56964  //
 56965  //         Get last mark in match                 *
 56966  //
 56967  
 56968  func Xpcre2_get_mark_8(tls *libc.TLS, match_data uintptr) TPCRE2_SPTR8 { /* pcre2_match_data.c:112:1: */
 56969  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark
 56970  }
 56971  
 56972  // ************************************************
 56973  //
 56974  //          Get pointer to ovector                *
 56975  //
 56976  
 56977  func Xpcre2_get_ovector_pointer_8(tls *libc.TLS, match_data uintptr) uintptr { /* pcre2_match_data.c:123:27: */
 56978  	return match_data + 80 /* &.ovector */
 56979  }
 56980  
 56981  // ************************************************
 56982  //
 56983  //          Get number of ovector slots           *
 56984  //
 56985  
 56986  func Xpcre2_get_ovector_count_8(tls *libc.TLS, match_data uintptr) Tuint32_t { /* pcre2_match_data.c:136:1: */
 56987  	return Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 56988  }
 56989  
 56990  // ************************************************
 56991  //
 56992  //         Get starting code unit in match        *
 56993  //
 56994  
 56995  func Xpcre2_get_startchar_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:148:1: */
 56996  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar
 56997  }
 56998  
 56999  // ************************************************
 57000  //
 57001  //         Get size of match data block           *
 57002  //
 57003  
 57004  func Xpcre2_get_match_data_size_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:160:1: */
 57005  	return uint64(uintptr(0)+80) + uint64(2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount))*uint64(unsafe.Sizeof(Tsize_t(0)))
 57006  }
 57007  
 57008  // End of pcre2_match_data.c
 57009  
 57010  // This function is needed only when memmove() is not available.
 57011  
 57012  // End of pcre2_internal.h
 57013  
 57014  // ************************************************
 57015  //
 57016  //      Check for newline at given position       *
 57017  //
 57018  
 57019  // This function is called only via the IS_NEWLINE macro, which does so only
 57020  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57021  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the code unit
 57022  // pointed to by ptr is less than the end of the string.
 57023  //
 57024  // Arguments:
 57025  //   ptr          pointer to possible newline
 57026  //   type         the newline type
 57027  //   endptr       pointer to the end of the string
 57028  //   lenptr       where to return the length
 57029  //   utf          TRUE if in utf mode
 57030  //
 57031  // Returns:       TRUE or FALSE
 57032  
 57033  func X_pcre2_is_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, endptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:79:1: */
 57034  	var c Tuint32_t
 57035  
 57036  	if utf != 0 {
 57037  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57038  		if c >= 0xc0 {
 57039  			if c&0x20 == Tuint32_t(0) {
 57040  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57041  			} else if c&0x10 == Tuint32_t(0) {
 57042  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57043  			} else if c&0x08 == Tuint32_t(0) {
 57044  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57045  			} else if c&0x04 == Tuint32_t(0) {
 57046  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57047  			} else {
 57048  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 57049  			}
 57050  		}
 57051  
 57052  	} else {
 57053  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57054  	}
 57055  
 57056  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57057  		switch c {
 57058  		case Tuint32_t('\012'):
 57059  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57060  			return DTRUE
 57061  			fallthrough
 57062  
 57063  		case Tuint32_t('\015'):
 57064  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57065  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57066  					return uint32(2)
 57067  				}
 57068  				return uint32(1)
 57069  			}()
 57070  			return DTRUE
 57071  			fallthrough
 57072  
 57073  		default:
 57074  			return DFALSE
 57075  		}
 57076  	} else {
 57077  		switch c {
 57078  		case Tuint32_t('\012'):
 57079  			fallthrough
 57080  		case Tuint32_t('\013'):
 57081  			fallthrough
 57082  		case Tuint32_t('\014'):
 57083  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57084  			return DTRUE
 57085  			fallthrough
 57086  
 57087  		case Tuint32_t('\015'):
 57088  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57089  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57090  					return uint32(2)
 57091  				}
 57092  				return uint32(1)
 57093  			}()
 57094  			return DTRUE
 57095  			fallthrough
 57096  
 57097  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 57098  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57099  				if utf != 0 {
 57100  					return uint32(2)
 57101  				}
 57102  				return uint32(1)
 57103  			}()
 57104  			return DTRUE
 57105  			fallthrough
 57106  
 57107  		case Tuint32_t(0x2028):
 57108  			fallthrough // LS
 57109  		case Tuint32_t(0x2029): // PS
 57110  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57111  			return DTRUE
 57112  			fallthrough
 57113  
 57114  		default:
 57115  			return DFALSE
 57116  		}
 57117  	}
 57118  	return TBOOL(0)
 57119  }
 57120  
 57121  // ************************************************
 57122  //
 57123  //     Check for newline at previous position     *
 57124  //
 57125  
 57126  // This function is called only via the WAS_NEWLINE macro, which does so only
 57127  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57128  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the initial
 57129  // value of ptr is greater than the start of the string that is being processed.
 57130  //
 57131  // Arguments:
 57132  //   ptr          pointer to possible newline
 57133  //   type         the newline type
 57134  //   startptr     pointer to the start of the string
 57135  //   lenptr       where to return the length
 57136  //   utf          TRUE if in utf mode
 57137  //
 57138  // Returns:       TRUE or FALSE
 57139  
 57140  func X_pcre2_was_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, startptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:169:1: */
 57141  	var c Tuint32_t
 57142  	ptr--
 57143  
 57144  	if utf != 0 {
 57145  		for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80 {
 57146  			ptr--
 57147  		}
 57148  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57149  		if c >= 0xc0 {
 57150  			if c&0x20 == Tuint32_t(0) {
 57151  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57152  			} else if c&0x10 == Tuint32_t(0) {
 57153  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57154  			} else if c&0x08 == Tuint32_t(0) {
 57155  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57156  			} else if c&0x04 == Tuint32_t(0) {
 57157  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57158  			} else {
 57159  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 57160  			}
 57161  		}
 57162  
 57163  	} else {
 57164  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57165  	}
 57166  
 57167  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57168  		switch c {
 57169  		case Tuint32_t('\012'):
 57170  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57171  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57172  					return uint32(2)
 57173  				}
 57174  				return uint32(1)
 57175  			}()
 57176  			return DTRUE
 57177  			fallthrough
 57178  
 57179  		case Tuint32_t('\015'):
 57180  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57181  			return DTRUE
 57182  			fallthrough
 57183  
 57184  		default:
 57185  			return DFALSE
 57186  		}
 57187  	} else {
 57188  		switch c {
 57189  		case Tuint32_t('\012'):
 57190  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57191  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57192  					return uint32(2)
 57193  				}
 57194  				return uint32(1)
 57195  			}()
 57196  			return DTRUE
 57197  			fallthrough
 57198  
 57199  		case Tuint32_t('\013'):
 57200  			fallthrough
 57201  		case Tuint32_t('\014'):
 57202  			fallthrough
 57203  		case Tuint32_t('\015'):
 57204  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57205  			return DTRUE
 57206  			fallthrough
 57207  
 57208  		case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 57209  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57210  				if utf != 0 {
 57211  					return uint32(2)
 57212  				}
 57213  				return uint32(1)
 57214  			}()
 57215  			return DTRUE
 57216  			fallthrough
 57217  
 57218  		case Tuint32_t(0x2028):
 57219  			fallthrough // LS
 57220  		case Tuint32_t(0x2029): // PS
 57221  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57222  			return DTRUE
 57223  			fallthrough
 57224  
 57225  		default:
 57226  			return DFALSE
 57227  		}
 57228  	}
 57229  	return TBOOL(0)
 57230  }
 57231  
 57232  // End of pcre2_newline.c
 57233  
 57234  // This function is needed only when memmove() is not available.
 57235  
 57236  // End of pcre2_internal.h
 57237  
 57238  // If SUPPORT_UNICODE is not defined, this function will never be called.
 57239  // Supply a dummy function because some compilers do not like empty source
 57240  // modules.
 57241  
 57242  // ************************************************
 57243  //
 57244  //          Convert code point to UTF             *
 57245  //
 57246  
 57247  //
 57248  // Arguments:
 57249  //   cvalue     the character value
 57250  //   buffer     pointer to buffer for result
 57251  //
 57252  // Returns:     number of code units placed in the buffer
 57253  
 57254  func X_pcre2_ord2utf_8(tls *libc.TLS, cvalue Tuint32_t, buffer uintptr) uint32 { /* pcre2_ord2utf.c:81:1: */
 57255  	// Convert to UTF-8
 57256  
 57257  	var i int32
 57258  	var j int32
 57259  	for i = 0; i < X_pcre2_utf8_table1_size; i++ {
 57260  		if int32(cvalue) <= X_pcre2_utf8_table1[i] {
 57261  			break
 57262  		}
 57263  	}
 57264  	buffer += uintptr(i)
 57265  	for j = i; j > 0; j-- {
 57266  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&buffer, 1))) = TPCRE2_UCHAR8(Tuint32_t(0x80) | cvalue&Tuint32_t(0x3f))
 57267  		cvalue >>= 6
 57268  	}
 57269  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer)) = TPCRE2_UCHAR8(Tuint32_t(X_pcre2_utf8_table2[i]) | cvalue)
 57270  	return uint32(i + 1)
 57271  
 57272  	// Convert to UTF-16
 57273  
 57274  }
 57275  
 57276  // End of pcre_ord2utf.c
 57277  
 57278  // This function is needed only when memmove() is not available.
 57279  
 57280  // End of pcre2_internal.h
 57281  
 57282  // ************************************************
 57283  //
 57284  //        Return info about compiled pattern      *
 57285  //
 57286  
 57287  //
 57288  // Arguments:
 57289  //   code          points to compiled code
 57290  //   what          what information is required
 57291  //   where         where to put the information; if NULL, return length
 57292  //
 57293  // Returns:        0 when data returned
 57294  //                 > 0 when length requested
 57295  //                 < 0 on error or unset value
 57296  
 57297  func Xpcre2_pattern_info_8(tls *libc.TLS, code uintptr, what Tuint32_t, where uintptr) int32 { /* pcre2_pattern_info.c:65:1: */
 57298  	var re uintptr = code
 57299  
 57300  	if where == uintptr(0) {
 57301  		switch what {
 57302  		case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57303  			fallthrough
 57304  		case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57305  			fallthrough
 57306  		case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57307  			fallthrough
 57308  		case Tuint32_t(DPCRE2_INFO_BSR):
 57309  			fallthrough
 57310  		case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57311  			fallthrough
 57312  		case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57313  			fallthrough
 57314  		case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57315  			fallthrough
 57316  		case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57317  			fallthrough
 57318  		case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57319  			fallthrough
 57320  		case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57321  			fallthrough
 57322  		case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57323  			fallthrough
 57324  		case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57325  			fallthrough
 57326  		case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57327  			fallthrough
 57328  		case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57329  			fallthrough
 57330  		case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57331  			fallthrough
 57332  		case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57333  			fallthrough
 57334  		case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57335  			fallthrough
 57336  		case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57337  			fallthrough
 57338  		case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57339  			fallthrough
 57340  		case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57341  			fallthrough
 57342  		case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57343  			fallthrough
 57344  		case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57345  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 57346  			fallthrough
 57347  
 57348  		case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57349  			return int32(unsafe.Sizeof(uintptr(0)))
 57350  			fallthrough
 57351  
 57352  		case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57353  			fallthrough
 57354  		case Tuint32_t(DPCRE2_INFO_SIZE):
 57355  			fallthrough
 57356  		case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57357  			return int32(unsafe.Sizeof(Tsize_t(0)))
 57358  			fallthrough
 57359  
 57360  		case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57361  			return int32(unsafe.Sizeof(TPCRE2_SPTR8(0)))
 57362  		}
 57363  	}
 57364  
 57365  	if re == uintptr(0) {
 57366  		return -51
 57367  	}
 57368  
 57369  	// Check that the first field in the block is the magic number. If it is not,
 57370  	// return with PCRE2_ERROR_BADMAGIC.
 57371  
 57372  	if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57373  		return -31
 57374  	}
 57375  
 57376  	// Check that this pattern was compiled in the correct bit mode
 57377  
 57378  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57379  		return -32
 57380  	}
 57381  
 57382  	switch what {
 57383  	case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57384  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 57385  		break
 57386  
 57387  	case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57388  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options
 57389  		break
 57390  
 57391  	case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57392  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref)
 57393  		break
 57394  
 57395  	case Tuint32_t(DPCRE2_INFO_BSR):
 57396  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention)
 57397  		break
 57398  
 57399  	case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57400  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)
 57401  		break
 57402  
 57403  	case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57404  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 57405  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth == 4294967295 {
 57406  			return -55
 57407  		}
 57408  		break
 57409  
 57410  	case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57411  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options
 57412  		break
 57413  
 57414  	case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57415  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57416  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57417  				return uint32(1)
 57418  			}
 57419  			return func() uint32 {
 57420  				if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0) {
 57421  					return uint32(2)
 57422  				}
 57423  				return uint32(0)
 57424  			}()
 57425  		}()
 57426  		break
 57427  
 57428  	case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57429  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57430  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57431  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit
 57432  			}
 57433  			return uint32(0)
 57434  		}()
 57435  		break
 57436  
 57437  	case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57438  		*(*uintptr)(unsafe.Pointer(where)) = func() uintptr {
 57439  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) {
 57440  				return re + 40
 57441  			}
 57442  			return uintptr(0)
 57443  		}()
 57444  		break
 57445  
 57446  	case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57447  		*(*Tsize_t)(unsafe.Pointer(where)) = uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0)))
 57448  		break
 57449  
 57450  	case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57451  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASBKC) != Tuint32_t(0)))
 57452  		break
 57453  
 57454  	case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57455  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) != Tuint32_t(0)))
 57456  		break
 57457  
 57458  	case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57459  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap
 57460  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap == 4294967295 {
 57461  			return -55
 57462  		}
 57463  		break
 57464  
 57465  	case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57466  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_JCHANGED) != Tuint32_t(0)))
 57467  		break
 57468  
 57469  	case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57470  		*(*Tsize_t)(unsafe.Pointer(where)) = uint64(0)
 57471  		break
 57472  
 57473  	case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57474  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57475  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57476  				return uint32(1)
 57477  			}
 57478  			return uint32(0)
 57479  		}()
 57480  		break
 57481  
 57482  	case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57483  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57484  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57485  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit
 57486  			}
 57487  			return uint32(0)
 57488  		}()
 57489  		break
 57490  
 57491  	case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57492  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0)))
 57493  		break
 57494  
 57495  	case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57496  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 57497  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match == 4294967295 {
 57498  			return -55
 57499  		}
 57500  		break
 57501  
 57502  	case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57503  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 57504  		break
 57505  
 57506  	case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57507  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)
 57508  		break
 57509  
 57510  	case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57511  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 57512  		break
 57513  
 57514  	case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57515  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)
 57516  		break
 57517  
 57518  	case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57519  		*(*TPCRE2_SPTR8)(unsafe.Pointer(where)) = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 57520  		break
 57521  
 57522  	case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57523  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention)
 57524  		break
 57525  
 57526  	case Tuint32_t(DPCRE2_INFO_SIZE):
 57527  		*(*Tsize_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 57528  		break
 57529  
 57530  	default:
 57531  		return -34
 57532  	}
 57533  
 57534  	return 0
 57535  }
 57536  
 57537  // ************************************************
 57538  //
 57539  //              Callout enumerator                *
 57540  //
 57541  
 57542  //
 57543  // Arguments:
 57544  //   code          points to compiled code
 57545  //   callback      function called for each callout block
 57546  //   callout_data  user data passed to the callback
 57547  //
 57548  // Returns:        0 when successfully completed
 57549  //                 < 0 on local error
 57550  //                != 0 for callback error
 57551  
 57552  func Xpcre2_callout_enumerate_8(tls *libc.TLS, code uintptr, callback uintptr, callout_data uintptr) int32 { /* pcre2_pattern_info.c:268:1: */
 57553  	bp := tls.Alloc(56)
 57554  	defer tls.Free(56)
 57555  
 57556  	var re uintptr = code
 57557  	// var cb Tpcre2_callout_enumerate_block_8 at bp, 56
 57558  
 57559  	var cc TPCRE2_SPTR8
 57560  	var utf TBOOL
 57561  
 57562  	if re == uintptr(0) {
 57563  		return -51
 57564  	}
 57565  
 57566  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 57567  
 57568  	// Check that the first field in the block is the magic number. If it is not,
 57569  	// return with PCRE2_ERROR_BADMAGIC.
 57570  
 57571  	if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57572  		return -31
 57573  	}
 57574  
 57575  	// Check that this pattern was compiled in the correct bit mode
 57576  
 57577  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57578  		return -32
 57579  	}
 57580  
 57581  	(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fversion = Tuint32_t(0)
 57582  	cc = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) +
 57583  		uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 57584  
 57585  	for 1 != 0 {
 57586  		var rc int32
 57587  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 57588  		case OP_END:
 57589  			return 0
 57590  
 57591  		case OP_CHAR:
 57592  			fallthrough
 57593  		case OP_CHARI:
 57594  			fallthrough
 57595  		case OP_NOT:
 57596  			fallthrough
 57597  		case OP_NOTI:
 57598  			fallthrough
 57599  		case OP_STAR:
 57600  			fallthrough
 57601  		case OP_MINSTAR:
 57602  			fallthrough
 57603  		case OP_PLUS:
 57604  			fallthrough
 57605  		case OP_MINPLUS:
 57606  			fallthrough
 57607  		case OP_QUERY:
 57608  			fallthrough
 57609  		case OP_MINQUERY:
 57610  			fallthrough
 57611  		case OP_UPTO:
 57612  			fallthrough
 57613  		case OP_MINUPTO:
 57614  			fallthrough
 57615  		case OP_EXACT:
 57616  			fallthrough
 57617  		case OP_POSSTAR:
 57618  			fallthrough
 57619  		case OP_POSPLUS:
 57620  			fallthrough
 57621  		case OP_POSQUERY:
 57622  			fallthrough
 57623  		case OP_POSUPTO:
 57624  			fallthrough
 57625  		case OP_STARI:
 57626  			fallthrough
 57627  		case OP_MINSTARI:
 57628  			fallthrough
 57629  		case OP_PLUSI:
 57630  			fallthrough
 57631  		case OP_MINPLUSI:
 57632  			fallthrough
 57633  		case OP_QUERYI:
 57634  			fallthrough
 57635  		case OP_MINQUERYI:
 57636  			fallthrough
 57637  		case OP_UPTOI:
 57638  			fallthrough
 57639  		case OP_MINUPTOI:
 57640  			fallthrough
 57641  		case OP_EXACTI:
 57642  			fallthrough
 57643  		case OP_POSSTARI:
 57644  			fallthrough
 57645  		case OP_POSPLUSI:
 57646  			fallthrough
 57647  		case OP_POSQUERYI:
 57648  			fallthrough
 57649  		case OP_POSUPTOI:
 57650  			fallthrough
 57651  		case OP_NOTSTAR:
 57652  			fallthrough
 57653  		case OP_NOTMINSTAR:
 57654  			fallthrough
 57655  		case OP_NOTPLUS:
 57656  			fallthrough
 57657  		case OP_NOTMINPLUS:
 57658  			fallthrough
 57659  		case OP_NOTQUERY:
 57660  			fallthrough
 57661  		case OP_NOTMINQUERY:
 57662  			fallthrough
 57663  		case OP_NOTUPTO:
 57664  			fallthrough
 57665  		case OP_NOTMINUPTO:
 57666  			fallthrough
 57667  		case OP_NOTEXACT:
 57668  			fallthrough
 57669  		case OP_NOTPOSSTAR:
 57670  			fallthrough
 57671  		case OP_NOTPOSPLUS:
 57672  			fallthrough
 57673  		case OP_NOTPOSQUERY:
 57674  			fallthrough
 57675  		case OP_NOTPOSUPTO:
 57676  			fallthrough
 57677  		case OP_NOTSTARI:
 57678  			fallthrough
 57679  		case OP_NOTMINSTARI:
 57680  			fallthrough
 57681  		case OP_NOTPLUSI:
 57682  			fallthrough
 57683  		case OP_NOTMINPLUSI:
 57684  			fallthrough
 57685  		case OP_NOTQUERYI:
 57686  			fallthrough
 57687  		case OP_NOTMINQUERYI:
 57688  			fallthrough
 57689  		case OP_NOTUPTOI:
 57690  			fallthrough
 57691  		case OP_NOTMINUPTOI:
 57692  			fallthrough
 57693  		case OP_NOTEXACTI:
 57694  			fallthrough
 57695  		case OP_NOTPOSSTARI:
 57696  			fallthrough
 57697  		case OP_NOTPOSPLUSI:
 57698  			fallthrough
 57699  		case OP_NOTPOSQUERYI:
 57700  			fallthrough
 57701  		case OP_NOTPOSUPTOI:
 57702  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57703  			if utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 57704  				cc += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 57705  			}
 57706  			break
 57707  
 57708  		case OP_TYPESTAR:
 57709  			fallthrough
 57710  		case OP_TYPEMINSTAR:
 57711  			fallthrough
 57712  		case OP_TYPEPLUS:
 57713  			fallthrough
 57714  		case OP_TYPEMINPLUS:
 57715  			fallthrough
 57716  		case OP_TYPEQUERY:
 57717  			fallthrough
 57718  		case OP_TYPEMINQUERY:
 57719  			fallthrough
 57720  		case OP_TYPEUPTO:
 57721  			fallthrough
 57722  		case OP_TYPEMINUPTO:
 57723  			fallthrough
 57724  		case OP_TYPEEXACT:
 57725  			fallthrough
 57726  		case OP_TYPEPOSSTAR:
 57727  			fallthrough
 57728  		case OP_TYPEPOSPLUS:
 57729  			fallthrough
 57730  		case OP_TYPEPOSQUERY:
 57731  			fallthrough
 57732  		case OP_TYPEPOSUPTO:
 57733  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57734  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_NOTPROP {
 57735  				cc += uintptr(2)
 57736  			}
 57737  			break
 57738  
 57739  		case OP_XCLASS:
 57740  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57741  			break
 57742  
 57743  		case OP_MARK:
 57744  			fallthrough
 57745  		case OP_COMMIT_ARG:
 57746  			fallthrough
 57747  		case OP_PRUNE_ARG:
 57748  			fallthrough
 57749  		case OP_SKIP_ARG:
 57750  			fallthrough
 57751  		case OP_THEN_ARG:
 57752  			cc += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 57753  			break
 57754  
 57755  		case OP_CALLOUT:
 57756  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57757  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 57758  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))
 57759  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = uint64(0)
 57760  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = uint64(0)
 57761  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = uintptr(0)
 57762  			rc = (*struct {
 57763  				f func(*libc.TLS, uintptr, uintptr) int32
 57764  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57765  			if rc != 0 {
 57766  				return rc
 57767  			}
 57768  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57769  			break
 57770  
 57771  		case OP_CALLOUT_STR:
 57772  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57773  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 57774  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(0)
 57775  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 8)))))
 57776  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))) - uint32(1+4*DLINK_SIZE) - uint32(2))
 57777  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = cc + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 57778  			rc = (*struct {
 57779  				f func(*libc.TLS, uintptr, uintptr) int32
 57780  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57781  			if rc != 0 {
 57782  				return rc
 57783  			}
 57784  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 57785  			break
 57786  
 57787  		default:
 57788  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57789  			break
 57790  		}
 57791  	}
 57792  	return int32(0)
 57793  }
 57794  
 57795  // End of pcre2_pattern_info.c
 57796  
 57797  func X_pcre2_script_run_8(tls *libc.TLS, ptr TPCRE2_SPTR8, endptr TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_script_run.c:85:1: */
 57798  	bp := tls.Alloc(48)
 57799  	defer tls.Free(48)
 57800  
 57801  	var require_state Tuint32_t = SCRIPT_UNSET
 57802  	// var require_map [6]Tuint32_t at bp, 24
 57803  
 57804  	// var map1 [6]Tuint32_t at bp+24, 24
 57805  
 57806  	var require_digitset Tuint32_t = Tuint32_t(0)
 57807  	var c Tuint32_t
 57808  
 57809  	// Any string containing fewer than 2 characters is a valid script run.
 57810  
 57811  	if ptr >= endptr {
 57812  		return DTRUE
 57813  	}
 57814  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 57815  	if utf != 0 && c >= 0xc0 {
 57816  		if c&0x20 == Tuint32_t(0) {
 57817  			c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 57818  		} else if c&0x10 == Tuint32_t(0) {
 57819  			c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57820  			ptr += uintptr(2)
 57821  		} else if c&0x08 == Tuint32_t(0) {
 57822  			c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57823  			ptr += uintptr(3)
 57824  		} else if c&0x04 == Tuint32_t(0) {
 57825  			c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57826  			ptr += uintptr(4)
 57827  		} else {
 57828  			c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57829  			ptr += uintptr(5)
 57830  		}
 57831  	}
 57832  
 57833  	if ptr >= endptr {
 57834  		return DTRUE
 57835  	}
 57836  
 57837  	// Initialize the require map. This is a full-size bitmap that has a bit for
 57838  	// every script, as opposed to the maps in ucd_script_sets, which only have bits
 57839  	// for scripts less than ucp_Unknown - those that appear in script extension
 57840  	// lists.
 57841  
 57842  	{
 57843  		var i int32 = 0
 57844  	__1:
 57845  		if !(i < ucp_Script_Count/32+1) {
 57846  			goto __3
 57847  		}
 57848  		*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) = Tuint32_t(0)
 57849  		goto __2
 57850  	__2:
 57851  		i++
 57852  		goto __1
 57853  		goto __3
 57854  	__3:
 57855  	}
 57856  
 57857  	// Scan strings of two or more characters, checking the Unicode characteristics
 57858  	// of each code point. There is special code for scripts that can be combined with
 57859  	// characters from the Han Chinese script. This may be used in conjunction with
 57860  	// four other scripts in these combinations:
 57861  	//
 57862  	// . Han with Hiragana and Katakana is allowed (for Japanese).
 57863  	// . Han with Bopomofo is allowed (for Taiwanese Mandarin).
 57864  	// . Han with Hangul is allowed (for Korean).
 57865  	//
 57866  	// If the first significant character's script is one of the four, the required
 57867  	// script type is immediately known. However, if the first significant
 57868  	// character's script is Han, we have to keep checking for a non-Han character.
 57869  	// Hence the SCRIPT_HANPENDING state.
 57870  
 57871  	for {
 57872  		var ucd uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 57873  		var script Tuint32_t = Tuint32_t((*Tucd_record)(unsafe.Pointer(ucd)).Fscript)
 57874  
 57875  		// If the script is Unknown, the string is not a valid script run. Such
 57876  		//   characters can only form script runs of length one (see test above).
 57877  
 57878  		if script == ucp_Unknown {
 57879  			return DFALSE
 57880  		}
 57881  
 57882  		// A character without any script extensions whose script is Inherited or
 57883  		//   Common is always accepted with any script. If there are extensions, the
 57884  		//   following processing happens for all scripts.
 57885  
 57886  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK != 0 || script != ucp_Inherited && script != ucp_Common {
 57887  			var OK TBOOL
 57888  
 57889  			// Set up a full-sized map for this character that can include bits for all
 57890  			//     scripts. Copy the scriptx map for this character (which covers those
 57891  			//     scripts that appear in script extension lists), set the remaining values to
 57892  			//     zero, and then, except for Common or Inherited, add this script's bit to
 57893  			//     the map.
 57894  
 57895  			libc.Xmemcpy(tls, bp+24, uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8))+uintptr(int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4, uint64(ucp_Unknown/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57896  			libc.Xmemset(tls, bp+24+uintptr(ucp_Unknown/32+1)*4, 0, uint64(ucp_Script_Count/32+1-(ucp_Unknown/32+1))*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57897  			if script != ucp_Common && script != ucp_Inherited {
 57898  				*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(script/Tuint32_t(32))*4)) |= uint32(1) << (script % Tuint32_t(32))
 57899  			}
 57900  
 57901  			// Handle the different checking states
 57902  
 57903  			switch require_state {
 57904  			// First significant character - it might follow Common or Inherited
 57905  			//       characters that do not have any script extensions.
 57906  
 57907  			case SCRIPT_UNSET:
 57908  				switch script {
 57909  				case ucp_Han:
 57910  					require_state = SCRIPT_HANPENDING
 57911  					break
 57912  					fallthrough
 57913  
 57914  				case ucp_Hiragana:
 57915  					fallthrough
 57916  				case ucp_Katakana:
 57917  					require_state = SCRIPT_HANHIRAKATA
 57918  					break
 57919  					fallthrough
 57920  
 57921  				case ucp_Bopomofo:
 57922  					require_state = SCRIPT_HANBOPOMOFO
 57923  					break
 57924  					fallthrough
 57925  
 57926  				case ucp_Hangul:
 57927  					require_state = SCRIPT_HANHANGUL
 57928  					break
 57929  					fallthrough
 57930  
 57931  				default:
 57932  					libc.Xmemcpy(tls, bp, bp+24, uint64(ucp_Script_Count/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57933  					require_state = SCRIPT_MAP
 57934  					break
 57935  				}
 57936  				break
 57937  				fallthrough
 57938  
 57939  			// The first significant character was Han. An inspection of the Unicode
 57940  			//       11.0.0 files shows that there are the following types of Script Extension
 57941  			//       list that involve the Han, Bopomofo, Hiragana, Katakana, and Hangul
 57942  			//       scripts:
 57943  			//
 57944  			//       . Bopomofo + Han
 57945  			//       . Han + Hiragana + Katakana
 57946  			//       . Hiragana + Katakana
 57947  			//       . Bopopmofo + Hangul + Han + Hiragana + Katakana
 57948  			//
 57949  			//       The following code tries to make sense of this.
 57950  
 57951  			case SCRIPT_HANPENDING:
 57952  				if script != ucp_Han {
 57953  					var chspecial Tuint32_t = Tuint32_t(0)
 57954  
 57955  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) != Tuint32_t(0) {
 57956  						chspecial = chspecial | Tuint32_t(DFOUND_BOPOMOFO)
 57957  					}
 57958  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32)) != Tuint32_t(0) {
 57959  						chspecial = chspecial | Tuint32_t(DFOUND_HIRAGANA)
 57960  					}
 57961  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) != Tuint32_t(0) {
 57962  						chspecial = chspecial | Tuint32_t(DFOUND_KATAKANA)
 57963  					}
 57964  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) != Tuint32_t(0) {
 57965  						chspecial = chspecial | Tuint32_t(DFOUND_HANGUL)
 57966  					}
 57967  
 57968  					if chspecial == Tuint32_t(0) {
 57969  						return DFALSE
 57970  					} // Not allowed with Han
 57971  
 57972  					if chspecial == Tuint32_t(DFOUND_BOPOMOFO) {
 57973  						require_state = SCRIPT_HANBOPOMOFO
 57974  					} else if chspecial == Tuint32_t(DFOUND_HIRAGANA|DFOUND_KATAKANA) {
 57975  						require_state = SCRIPT_HANHIRAKATA
 57976  					}
 57977  
 57978  					// Otherwise this character must be allowed with all of them, so remain
 57979  					//         in the pending state.
 57980  				}
 57981  				break
 57982  				fallthrough
 57983  
 57984  			// Previously encountered one of the "with Han" scripts. Check that
 57985  			//       this character is appropriate.
 57986  
 57987  			case SCRIPT_HANHIRAKATA:
 57988  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) == Tuint32_t(0) {
 57989  					return DFALSE
 57990  				}
 57991  				break
 57992  				fallthrough
 57993  
 57994  			case SCRIPT_HANBOPOMOFO:
 57995  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) == Tuint32_t(0) {
 57996  					return DFALSE
 57997  				}
 57998  				break
 57999  				fallthrough
 58000  
 58001  			case SCRIPT_HANHANGUL:
 58002  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) == Tuint32_t(0) {
 58003  					return DFALSE
 58004  				}
 58005  				break
 58006  				fallthrough
 58007  
 58008  			// Previously encountered one or more characters that are allowed with a
 58009  			//       list of scripts.
 58010  
 58011  			case SCRIPT_MAP:
 58012  				OK = DFALSE
 58013  
 58014  				{
 58015  					var i int32 = 0
 58016  				__4:
 58017  					if !(i < ucp_Script_Count/32+1) {
 58018  						goto __6
 58019  					}
 58020  					{
 58021  						if *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4))&*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4)) != Tuint32_t(0) {
 58022  							OK = DTRUE
 58023  							goto __6
 58024  						}
 58025  
 58026  					}
 58027  					goto __5
 58028  				__5:
 58029  					i++
 58030  					goto __4
 58031  					goto __6
 58032  				__6:
 58033  				}
 58034  
 58035  				if !(OK != 0) {
 58036  					return DFALSE
 58037  				}
 58038  
 58039  				// The rest of the string must be in this script, but we have to
 58040  				//       allow for the Han complications.
 58041  
 58042  				switch script {
 58043  				case ucp_Han:
 58044  					require_state = SCRIPT_HANPENDING
 58045  					break
 58046  					fallthrough
 58047  
 58048  				case ucp_Hiragana:
 58049  					fallthrough
 58050  				case ucp_Katakana:
 58051  					require_state = SCRIPT_HANHIRAKATA
 58052  					break
 58053  					fallthrough
 58054  
 58055  				case ucp_Bopomofo:
 58056  					require_state = SCRIPT_HANBOPOMOFO
 58057  					break
 58058  					fallthrough
 58059  
 58060  				case ucp_Hangul:
 58061  					require_state = SCRIPT_HANHANGUL
 58062  					break
 58063  					fallthrough
 58064  
 58065  				// Compute the intersection of the required list of scripts and the
 58066  				//         allowed scripts for this character.
 58067  
 58068  				default:
 58069  					{
 58070  						var i int32 = 0
 58071  					__7:
 58072  						if !(i < ucp_Script_Count/32+1) {
 58073  							goto __9
 58074  						}
 58075  						*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) &= *(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4))
 58076  						goto __8
 58077  					__8:
 58078  						i++
 58079  						goto __7
 58080  						goto __9
 58081  					__9:
 58082  					}
 58083  					break
 58084  				}
 58085  
 58086  				break
 58087  			}
 58088  		} // End checking character's script and extensions.
 58089  
 58090  		// The character is in an acceptable script. We must now ensure that all
 58091  		//   decimal digits in the string come from the same set. Some scripts (e.g.
 58092  		//   Common, Arabic) have more than one set of decimal digits. This code does
 58093  		//   not allow mixing sets, even within the same script. The vector called
 58094  		//   PRIV(ucd_digit_sets)[] contains, in its first element, the number of
 58095  		//   following elements, and then, in ascending order, the code points of the
 58096  		//   '9' characters in every set of 10 digits. Each set is identified by the
 58097  		//   offset in the vector of its '9' character. An initial check of the first
 58098  		//   value picks up ASCII digits quickly. Otherwise, a binary chop is used.
 58099  
 58100  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fchartype) == ucp_Nd {
 58101  			var digitset Tuint32_t
 58102  
 58103  			if c <= X_pcre2_ucd_digit_sets_8[1] {
 58104  				digitset = Tuint32_t(1)
 58105  			} else {
 58106  				var mid int32
 58107  				var bot int32 = 1
 58108  				var top int32 = int32(X_pcre2_ucd_digit_sets_8[0])
 58109  				for {
 58110  					if top <= bot+1 {
 58111  						digitset = Tuint32_t(top)
 58112  						break
 58113  					}
 58114  					mid = (top + bot) / 2
 58115  					if c <= X_pcre2_ucd_digit_sets_8[mid] {
 58116  						top = mid
 58117  					} else {
 58118  						bot = mid
 58119  					}
 58120  				}
 58121  			}
 58122  
 58123  			// A required value of 0 means "unset".
 58124  
 58125  			if require_digitset == Tuint32_t(0) {
 58126  				require_digitset = digitset
 58127  			} else if digitset != require_digitset {
 58128  				return DFALSE
 58129  			}
 58130  		} // End digit handling
 58131  
 58132  		// If we haven't yet got to the end, pick up the next character.
 58133  
 58134  		if ptr >= endptr {
 58135  			return DTRUE
 58136  		}
 58137  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 58138  		if utf != 0 && c >= 0xc0 {
 58139  			if c&0x20 == Tuint32_t(0) {
 58140  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 58141  			} else if c&0x10 == Tuint32_t(0) {
 58142  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 58143  				ptr += uintptr(2)
 58144  			} else if c&0x08 == Tuint32_t(0) {
 58145  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 58146  				ptr += uintptr(3)
 58147  			} else if c&0x04 == Tuint32_t(0) {
 58148  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 58149  				ptr += uintptr(4)
 58150  			} else {
 58151  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 58152  				ptr += uintptr(5)
 58153  			}
 58154  		}
 58155  
 58156  	}
 58157  	return TBOOL(0) // End checking loop
 58158  
 58159  }
 58160  
 58161  // End of pcre2_script_run.c
 58162  
 58163  // This function is needed only when memmove() is not available.
 58164  
 58165  // End of pcre2_internal.h
 58166  
 58167  // Magic number to provide a small check against being handed junk.
 58168  
 58169  // Deserialization is limited to the current PCRE version and
 58170  // character width.
 58171  
 58172  // ************************************************
 58173  //
 58174  //           Serialize compiled patterns          *
 58175  //
 58176  
 58177  func Xpcre2_serialize_encode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, serialized_bytes uintptr, serialized_size uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:72:1: */
 58178  	var bytes uintptr
 58179  	var dst_bytes uintptr
 58180  	var i Tint32_t
 58181  	var total_size Tsize_t
 58182  	var re uintptr
 58183  	var tables uintptr
 58184  	var data uintptr
 58185  
 58186  	var memctl uintptr
 58187  	if gcontext != uintptr(0) {
 58188  		memctl = gcontext
 58189  	} else {
 58190  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58191  	}
 58192  
 58193  	if codes == uintptr(0) || serialized_bytes == uintptr(0) || serialized_size == uintptr(0) {
 58194  		return -51
 58195  	}
 58196  
 58197  	if number_of_codes <= 0 {
 58198  		return -29
 58199  	}
 58200  
 58201  	// Compute total size.
 58202  	total_size = uint64(unsafe.Sizeof(Tpcre2_serialized_data{})) + uint64(Dcbits_offset+Dcbit_length+256)
 58203  	tables = uintptr(0)
 58204  
 58205  	for i = 0; i < number_of_codes; i++ {
 58206  		if *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) == uintptr(0) {
 58207  			return -51
 58208  		}
 58209  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8))
 58210  		if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 58211  			return -31
 58212  		}
 58213  		if tables == uintptr(0) {
 58214  			tables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 58215  		} else if tables != (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables {
 58216  			return -30
 58217  		}
 58218  		total_size = total_size + (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 58219  	}
 58220  
 58221  	// Initialize the byte stream.
 58222  	bytes = (*struct {
 58223  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58224  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, total_size+Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58225  	if bytes == uintptr(0) {
 58226  		return -48
 58227  	}
 58228  
 58229  	// The controller is stored as a hidden parameter.
 58230  	libc.Xmemcpy(tls, bytes, memctl, uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58231  	bytes += uintptr(unsafe.Sizeof(Tpcre2_memctl{}))
 58232  
 58233  	data = bytes
 58234  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic = DSERIALIZED_DATA_MAGIC
 58235  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion = Tuint32_t(DPCRE2_MAJOR | int32(DPCRE2_MINOR)<<16)
 58236  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig = uint32(uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))) | uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8 | uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16)
 58237  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes = number_of_codes
 58238  
 58239  	// Copy all compiled code data.
 58240  	dst_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58241  	libc.Xmemcpy(tls, dst_bytes, tables, uint64(Dcbits_offset+Dcbit_length+256))
 58242  	dst_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58243  
 58244  	for i = 0; i < number_of_codes; i++ {
 58245  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8))
 58246  		libc.Xmemcpy(tls, dst_bytes, re, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58247  
 58248  		// Certain fields in the compiled code block are re-set during
 58249  		//   deserialization. In order to ensure that the serialized data stream is always
 58250  		//   the same for the same pattern, set them to zero here. We can't assume the
 58251  		//   copy of the pattern is correctly aligned for accessing the fields as part of
 58252  		//   a structure. Note the use of sizeof(void *) in the second of these, to
 58253  		//   specify the size of a pointer. If sizeof(uint8_t *) is used (tables is a
 58254  		//   pointer to uint8_t), gcc gives a warning because the first argument is also a
 58255  		//   pointer to uint8_t. Casting the first argument to (void *) can stop this, but
 58256  		//   it didn't stop Coverity giving the same complaint.
 58257  
 58258  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0))), 0,
 58259  			uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58260  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0)+24)), 0,
 58261  			uint64(unsafe.Sizeof(uintptr(0))))
 58262  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0)+32)), 0,
 58263  			uint64(unsafe.Sizeof(uintptr(0))))
 58264  
 58265  		dst_bytes += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58266  	}
 58267  
 58268  	*(*uintptr)(unsafe.Pointer(serialized_bytes)) = bytes
 58269  	*(*Tsize_t)(unsafe.Pointer(serialized_size)) = total_size
 58270  	return number_of_codes
 58271  }
 58272  
 58273  // ************************************************
 58274  //
 58275  //          Deserialize compiled patterns         *
 58276  //
 58277  
 58278  func Xpcre2_serialize_decode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, bytes uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:163:1: */
 58279  	bp := tls.Alloc(8)
 58280  	defer tls.Free(8)
 58281  
 58282  	var data uintptr = bytes
 58283  	var memctl uintptr
 58284  	if gcontext != uintptr(0) {
 58285  		memctl = gcontext
 58286  	} else {
 58287  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58288  	}
 58289  	var src_bytes uintptr
 58290  	var dst_re uintptr
 58291  	var tables uintptr
 58292  	var i Tint32_t
 58293  	var j Tint32_t
 58294  
 58295  	// Sanity checks.
 58296  
 58297  	if data == uintptr(0) || codes == uintptr(0) {
 58298  		return -51
 58299  	}
 58300  	if number_of_codes <= 0 {
 58301  		return -29
 58302  	}
 58303  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes <= 0 {
 58304  		return -62
 58305  	}
 58306  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58307  		return -31
 58308  	}
 58309  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58310  		return -32
 58311  	}
 58312  	if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58313  		return -32
 58314  	}
 58315  
 58316  	if number_of_codes > (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes {
 58317  		number_of_codes = (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58318  	}
 58319  
 58320  	src_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58321  
 58322  	// Decode tables. The reference count for the tables is stored immediately
 58323  	// following them.
 58324  
 58325  	tables = (*struct {
 58326  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58327  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58328  	if tables == uintptr(0) {
 58329  		return -48
 58330  	}
 58331  
 58332  	libc.Xmemcpy(tls, tables, src_bytes, uint64(Dcbits_offset+Dcbit_length+256))
 58333  	*(*Tsize_t)(unsafe.Pointer(tables + uintptr(Dcbits_offset+Dcbit_length+256))) = Tsize_t(number_of_codes)
 58334  	src_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58335  
 58336  	// Decode the byte stream. We must not try to read the size from the compiled
 58337  	// code block in the stream, because it might be unaligned, which causes errors on
 58338  	// hardware such as Sparc-64 that doesn't like unaligned memory accesses. The type
 58339  	// of the blocksize field is given its own name to ensure that it is the same here
 58340  	// as in the block.
 58341  
 58342  	for i = 0; i < number_of_codes; i++ {
 58343  		// var blocksize Tsize_t at bp, 8
 58344  
 58345  		libc.Xmemcpy(tls, bp, src_bytes+uintptr(uint64(uintptr(0)+72)),
 58346  			uint64(unsafe.Sizeof(Tsize_t(0))))
 58347  		if *(*Tsize_t)(unsafe.Pointer(bp)) <= Tsize_t(unsafe.Sizeof(Tpcre2_real_code_8{})) {
 58348  			return -62
 58349  		}
 58350  
 58351  		// The allocator provided by gcontext replaces the original one.
 58352  
 58353  		dst_re = X_pcre2_memctl_malloc_8(tls, *(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)),
 58354  			gcontext)
 58355  		if dst_re == uintptr(0) {
 58356  			(*struct {
 58357  				f func(*libc.TLS, uintptr, uintptr)
 58358  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, tables, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58359  			for j = 0; j < i; j++ {
 58360  				(*struct {
 58361  					f func(*libc.TLS, uintptr, uintptr)
 58362  				})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, *(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58363  				*(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)) = uintptr(0)
 58364  			}
 58365  			return -48
 58366  		}
 58367  
 58368  		// The new allocator must be preserved.
 58369  
 58370  		libc.Xmemcpy(tls, dst_re+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))),
 58371  			src_bytes+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))), *(*Tsize_t)(unsafe.Pointer(bp))-Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})))
 58372  		if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fmagic_number) != DMAGIC_NUMBER || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_entry_size) > DMAX_NAME_SIZE+DIMM2_SIZE+1 || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_count) > DMAX_NAME_COUNT {
 58373  			(*struct {
 58374  				f func(*libc.TLS, uintptr, uintptr)
 58375  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, dst_re, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58376  			return -62
 58377  		}
 58378  
 58379  		// At the moment only one table is supported.
 58380  
 58381  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Ftables = tables
 58382  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fexecutable_jit = uintptr(0)
 58383  		*(*Tuint32_t)(unsafe.Pointer(dst_re + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
 58384  
 58385  		*(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) = dst_re
 58386  		src_bytes += uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)))
 58387  	}
 58388  
 58389  	return number_of_codes
 58390  }
 58391  
 58392  // ************************************************
 58393  //
 58394  //    Get the number of serialized patterns       *
 58395  //
 58396  
 58397  func Xpcre2_serialize_get_number_of_codes_8(tls *libc.TLS, bytes uintptr) Tint32_t { /* pcre2_serialize.c:259:1: */
 58398  	var data uintptr = bytes
 58399  
 58400  	if data == uintptr(0) {
 58401  		return -51
 58402  	}
 58403  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58404  		return -31
 58405  	}
 58406  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58407  		return -32
 58408  	}
 58409  	if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58410  		return -32
 58411  	}
 58412  
 58413  	return (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58414  }
 58415  
 58416  // ************************************************
 58417  //
 58418  //            Free the allocated stream           *
 58419  //
 58420  
 58421  func Xpcre2_serialize_free_8(tls *libc.TLS, bytes uintptr) { /* pcre2_serialize.c:277:1: */
 58422  	if bytes != uintptr(0) {
 58423  		var memctl uintptr = bytes - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58424  		(*struct {
 58425  			f func(*libc.TLS, uintptr, uintptr)
 58426  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58427  	}
 58428  }
 58429  
 58430  // End of pcre2_serialize.c
 58431  
 58432  // This function is needed only when memmove() is not available.
 58433  
 58434  // End of pcre2_internal.h
 58435  
 58436  // ************************************************
 58437  //
 58438  //    Emulated memmove() for systems without it   *
 58439  //
 58440  
 58441  // This function can make use of bcopy() if it is available. Otherwise do it by
 58442  // steam, as there some non-Unix environments that lack both memmove() and
 58443  // bcopy().
 58444  
 58445  // ************************************************
 58446  //
 58447  //    Compare two zero-terminated PCRE2 strings   *
 58448  //
 58449  
 58450  //
 58451  // Arguments:
 58452  //   str1        first string
 58453  //   str2        second string
 58454  //
 58455  // Returns:      0, 1, or -1
 58456  
 58457  func X_pcre2_strcmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8) int32 { /* pcre2_string_utils.c:102:1: */
 58458  	var c1 TPCRE2_UCHAR8
 58459  	var c2 TPCRE2_UCHAR8
 58460  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str2))) != 0 {
 58461  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58462  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58463  		if int32(c1) != int32(c2) {
 58464  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58465  		}
 58466  	}
 58467  	return 0
 58468  }
 58469  
 58470  // ************************************************
 58471  //
 58472  //  Compare zero-terminated PCRE2 & 8-bit strings *
 58473  //
 58474  
 58475  // As the 8-bit string is almost always a literal, its type is specified as
 58476  // const char *.
 58477  //
 58478  // Arguments:
 58479  //   str1        first string
 58480  //   str2        second string
 58481  //
 58482  // Returns:      0, 1, or -1
 58483  
 58484  func X_pcre2_strcmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr) int32 { /* pcre2_string_utils.c:130:1: */
 58485  	var c1 TPCRE2_UCHAR8
 58486  	var c2 TPCRE2_UCHAR8
 58487  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*int8)(unsafe.Pointer(str2))) != 0 {
 58488  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58489  		c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58490  		if int32(c1) != int32(c2) {
 58491  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58492  		}
 58493  	}
 58494  	return 0
 58495  }
 58496  
 58497  // ************************************************
 58498  //
 58499  //    Compare two PCRE2 strings, given a length   *
 58500  //
 58501  
 58502  //
 58503  // Arguments:
 58504  //   str1        first string
 58505  //   str2        second string
 58506  //   len         the length
 58507  //
 58508  // Returns:      0, 1, or -1
 58509  
 58510  func X_pcre2_strncmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8, len Tsize_t) int32 { /* pcre2_string_utils.c:157:1: */
 58511  	var c1 TPCRE2_UCHAR8
 58512  	var c2 TPCRE2_UCHAR8
 58513  	for ; len > uint64(0); len-- {
 58514  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58515  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58516  		if int32(c1) != int32(c2) {
 58517  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58518  		}
 58519  	}
 58520  	return 0
 58521  }
 58522  
 58523  // ************************************************
 58524  //
 58525  // Compare PCRE2 string to 8-bit string by length *
 58526  //
 58527  
 58528  // As the 8-bit string is almost always a literal, its type is specified as
 58529  // const char *.
 58530  //
 58531  // Arguments:
 58532  //   str1        first string
 58533  //   str2        second string
 58534  //   len         the length
 58535  //
 58536  // Returns:      0, 1, or -1
 58537  
 58538  func X_pcre2_strncmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr, len Tsize_t) int32 { /* pcre2_string_utils.c:186:1: */
 58539  	var c1 TPCRE2_UCHAR8
 58540  	var c2 TPCRE2_UCHAR8
 58541  	for ; len > uint64(0); len-- {
 58542  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58543  		c2 = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58544  		if int32(c1) != int32(c2) {
 58545  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58546  		}
 58547  	}
 58548  	return 0
 58549  }
 58550  
 58551  // ************************************************
 58552  //
 58553  //        Find the length of a PCRE2 string       *
 58554  //
 58555  
 58556  //
 58557  // Argument:    the string
 58558  // Returns:     the length
 58559  
 58560  func X_pcre2_strlen_8(tls *libc.TLS, str TPCRE2_SPTR8) Tsize_t { /* pcre2_string_utils.c:209:1: */
 58561  	var c Tsize_t = uint64(0)
 58562  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str, 1)))) != 0 {
 58563  		c++
 58564  	}
 58565  	return c
 58566  }
 58567  
 58568  // ************************************************
 58569  //
 58570  // Copy 8-bit 0-terminated string to PCRE2 string *
 58571  //
 58572  
 58573  // Arguments:
 58574  //   str1     buffer to receive the string
 58575  //   str2     8-bit string to be copied
 58576  //
 58577  // Returns:   the number of code units used (excluding trailing zero)
 58578  
 58579  func X_pcre2_strcpy_c8_8(tls *libc.TLS, str1 uintptr, str2 uintptr) Tsize_t { /* pcre2_string_utils.c:229:1: */
 58580  	var t uintptr = str1
 58581  	for int32(*(*int8)(unsafe.Pointer(str2))) != 0 {
 58582  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&t, 1))) = TPCRE2_UCHAR8(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58583  	}
 58584  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)) = TPCRE2_UCHAR8(0)
 58585  	return Tsize_t((int64(t) - int64(str1)) / 1)
 58586  }
 58587  
 58588  // End of pcre2_string_utils.c
 58589  
 58590  // ************************************************
 58591  //
 58592  //   Find the minimum subject length for a group  *
 58593  //
 58594  
 58595  // Scan a parenthesized group and compute the minimum length of subject that
 58596  // is needed to match it. This is a lower bound; it does not mean there is a
 58597  // string of that length that matches. In UTF mode, the result is in characters
 58598  // rather than code units. The field in a compiled pattern for storing the minimum
 58599  // length is 16-bits long (on the grounds that anything longer than that is
 58600  // pathological), so we give up when we reach that amount. This also means that
 58601  // integer overflow for really crazy patterns cannot happen.
 58602  //
 58603  // Backreference minimum lengths are cached to speed up multiple references. This
 58604  // function is called only when the highest back reference in the pattern is less
 58605  // than or equal to MAX_CACHE_BACKREF, which is one less than the size of the
 58606  // caching vector. The zeroth element contains the number of the highest set
 58607  // value.
 58608  //
 58609  // Arguments:
 58610  //   re              compiled pattern block
 58611  //   code            pointer to start of group (the bracket)
 58612  //   startcode       pointer to start of the whole pattern's code
 58613  //   utf             UTF flag
 58614  //   recurses        chain of recurse_check to catch mutual recursion
 58615  //   countptr        pointer to call count (to catch over complexity)
 58616  //   backref_cache   vector for caching back references.
 58617  //
 58618  // This function is no longer called when the pattern contains (*ACCEPT); however,
 58619  // the old code for returning -1 is retained, just in case.
 58620  //
 58621  // Returns:   the minimum length
 58622  //            -1 \C in UTF-8 mode
 58623  //               or (*ACCEPT)
 58624  //               or pattern too complicated
 58625  //            -2 internal error (missing capturing bracket)
 58626  //            -3 internal error (opcode not listed)
 58627  
 58628  func find_minlength(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, startcode TPCRE2_SPTR8, utf TBOOL, recurses uintptr, countptr uintptr, backref_cache uintptr) int32 { /* pcre2_study.c:103:1: */
 58629  	bp := tls.Alloc(16)
 58630  	defer tls.Free(16)
 58631  
 58632  	var length int32
 58633  	var branchlength int32
 58634  	var prev_cap_recno int32
 58635  	var prev_cap_d int32
 58636  	var prev_recurse_recno int32
 58637  	var prev_recurse_d int32
 58638  	var once_fudge Tuint32_t
 58639  	var had_recurse TBOOL
 58640  	var dupcapused TBOOL
 58641  	var nextbranch TPCRE2_SPTR8
 58642  	var cc uintptr
 58643  	// var this_recurse Trecurse_check at bp, 16
 58644  
 58645  	var r uintptr
 58646  	var dd int32
 58647  	var i int32
 58648  	var count int32
 58649  	var slot uintptr
 58650  	var r1 uintptr
 58651  	var i1 int32
 58652  	var r2 uintptr
 58653  	var d int32
 58654  	var min int32
 58655  	var recno int32
 58656  	var op TPCRE2_UCHAR8
 58657  	var cs uintptr
 58658  	var ce uintptr
 58659  	length = -1
 58660  	branchlength = 0
 58661  	prev_cap_recno = -1
 58662  	prev_cap_d = 0
 58663  	prev_recurse_recno = -1
 58664  	prev_recurse_d = 0
 58665  	once_fudge = Tuint32_t(0)
 58666  	had_recurse = DFALSE
 58667  	dupcapused = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0))
 58668  	nextbranch = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 58669  	cc = code + uintptr(1) + uintptr(DLINK_SIZE)
 58670  
 58671  	// If this is a "could be empty" group, its minimum length is 0.
 58672  
 58673  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) >= OP_SBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) <= OP_SCOND) {
 58674  		goto __1
 58675  	}
 58676  	return 0
 58677  __1:
 58678  	;
 58679  
 58680  	// Skip over capturing bracket number
 58681  
 58682  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS) {
 58683  		goto __2
 58684  	}
 58685  	cc += uintptr(DIMM2_SIZE)
 58686  __2:
 58687  	;
 58688  
 58689  	// A large and/or complex regex can take too long to process.
 58690  
 58691  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(countptr)), 1) > 1000) {
 58692  		goto __3
 58693  	}
 58694  	return -1
 58695  __3:
 58696  	;
 58697  
 58698  	// Scan along the opcodes for this branch. If we get to the end of the branch,
 58699  	// check the length against that of the other branches. If the accumulated length
 58700  	// passes 16-bits, reset to that value and skip the rest of the branch.
 58701  
 58702  __4:
 58703  
 58704  	if !(branchlength >= 65535) {
 58705  		goto __7
 58706  	}
 58707  
 58708  	branchlength = 65535
 58709  	cc = nextbranch
 58710  __7:
 58711  	;
 58712  
 58713  	op = *(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))
 58714  	switch int32(op) {
 58715  	case OP_COND:
 58716  		goto __9
 58717  	case OP_SCOND:
 58718  		goto __10
 58719  
 58720  	case OP_BRA:
 58721  		goto __11
 58722  	// Fall through
 58723  
 58724  	case OP_ONCE:
 58725  		goto __12
 58726  	case OP_SCRIPT_RUN:
 58727  		goto __13
 58728  	case OP_SBRA:
 58729  		goto __14
 58730  	case OP_BRAPOS:
 58731  		goto __15
 58732  	case OP_SBRAPOS:
 58733  		goto __16
 58734  
 58735  	// To save time for repeated capturing subpatterns, we remember the
 58736  	//     length of the previous one. Unfortunately we can't do the same for
 58737  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 58738  	//     pattern because captures with the same number are not then identical.
 58739  
 58740  	case OP_CBRA:
 58741  		goto __17
 58742  	case OP_SCBRA:
 58743  		goto __18
 58744  	case OP_CBRAPOS:
 58745  		goto __19
 58746  	case OP_SCBRAPOS:
 58747  		goto __20
 58748  
 58749  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 58750  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 58751  	//     used. However, leave the code in place, just in case.
 58752  
 58753  	case OP_ACCEPT:
 58754  		goto __21
 58755  	case OP_ASSERT_ACCEPT:
 58756  		goto __22
 58757  
 58758  	// Reached end of a branch; if it's a ket it is the end of a nested
 58759  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 58760  	//     the end of the outer call. All can be handled by the same code. If the
 58761  	//     length of any branch is zero, there is no need to scan any subsequent
 58762  	//     branches.
 58763  
 58764  	case OP_ALT:
 58765  		goto __23
 58766  	case OP_KET:
 58767  		goto __24
 58768  	case OP_KETRMAX:
 58769  		goto __25
 58770  	case OP_KETRMIN:
 58771  		goto __26
 58772  	case OP_KETRPOS:
 58773  		goto __27
 58774  	case OP_END:
 58775  		goto __28
 58776  
 58777  	// Skip over assertive subpatterns
 58778  
 58779  	case OP_ASSERT:
 58780  		goto __29
 58781  	case OP_ASSERT_NOT:
 58782  		goto __30
 58783  	case OP_ASSERTBACK:
 58784  		goto __31
 58785  	case OP_ASSERTBACK_NOT:
 58786  		goto __32
 58787  	case OP_ASSERT_NA:
 58788  		goto __33
 58789  	case OP_ASSERTBACK_NA:
 58790  		goto __34
 58791  	// Fall through
 58792  
 58793  	// Skip over things that don't match chars
 58794  
 58795  	case OP_REVERSE:
 58796  		goto __35
 58797  	case OP_CREF:
 58798  		goto __36
 58799  	case OP_DNCREF:
 58800  		goto __37
 58801  	case OP_RREF:
 58802  		goto __38
 58803  	case OP_DNRREF:
 58804  		goto __39
 58805  	case OP_FALSE:
 58806  		goto __40
 58807  	case OP_TRUE:
 58808  		goto __41
 58809  	case OP_CALLOUT:
 58810  		goto __42
 58811  	case OP_SOD:
 58812  		goto __43
 58813  	case OP_SOM:
 58814  		goto __44
 58815  	case OP_EOD:
 58816  		goto __45
 58817  	case OP_EODN:
 58818  		goto __46
 58819  	case OP_CIRC:
 58820  		goto __47
 58821  	case OP_CIRCM:
 58822  		goto __48
 58823  	case OP_DOLL:
 58824  		goto __49
 58825  	case OP_DOLLM:
 58826  		goto __50
 58827  	case OP_NOT_WORD_BOUNDARY:
 58828  		goto __51
 58829  	case OP_WORD_BOUNDARY:
 58830  		goto __52
 58831  
 58832  	case OP_CALLOUT_STR:
 58833  		goto __53
 58834  
 58835  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 58836  
 58837  	case OP_BRAZERO:
 58838  		goto __54
 58839  	case OP_BRAMINZERO:
 58840  		goto __55
 58841  	case OP_BRAPOSZERO:
 58842  		goto __56
 58843  	case OP_SKIPZERO:
 58844  		goto __57
 58845  
 58846  	// Handle literal characters and + repetitions
 58847  
 58848  	case OP_CHAR:
 58849  		goto __58
 58850  	case OP_CHARI:
 58851  		goto __59
 58852  	case OP_NOT:
 58853  		goto __60
 58854  	case OP_NOTI:
 58855  		goto __61
 58856  	case OP_PLUS:
 58857  		goto __62
 58858  	case OP_PLUSI:
 58859  		goto __63
 58860  	case OP_MINPLUS:
 58861  		goto __64
 58862  	case OP_MINPLUSI:
 58863  		goto __65
 58864  	case OP_POSPLUS:
 58865  		goto __66
 58866  	case OP_POSPLUSI:
 58867  		goto __67
 58868  	case OP_NOTPLUS:
 58869  		goto __68
 58870  	case OP_NOTPLUSI:
 58871  		goto __69
 58872  	case OP_NOTMINPLUS:
 58873  		goto __70
 58874  	case OP_NOTMINPLUSI:
 58875  		goto __71
 58876  	case OP_NOTPOSPLUS:
 58877  		goto __72
 58878  	case OP_NOTPOSPLUSI:
 58879  		goto __73
 58880  
 58881  	case OP_TYPEPLUS:
 58882  		goto __74
 58883  	case OP_TYPEMINPLUS:
 58884  		goto __75
 58885  	case OP_TYPEPOSPLUS:
 58886  		goto __76
 58887  
 58888  	// Handle exact repetitions. The count is already in characters, but we
 58889  	//     may need to skip over a multibyte character in UTF mode.
 58890  
 58891  	case OP_EXACT:
 58892  		goto __77
 58893  	case OP_EXACTI:
 58894  		goto __78
 58895  	case OP_NOTEXACT:
 58896  		goto __79
 58897  	case OP_NOTEXACTI:
 58898  		goto __80
 58899  
 58900  	case OP_TYPEEXACT:
 58901  		goto __81
 58902  
 58903  	// Handle single-char non-literal matchers
 58904  
 58905  	case OP_PROP:
 58906  		goto __82
 58907  	case OP_NOTPROP:
 58908  		goto __83
 58909  	// Fall through
 58910  
 58911  	case OP_NOT_DIGIT:
 58912  		goto __84
 58913  	case OP_DIGIT:
 58914  		goto __85
 58915  	case OP_NOT_WHITESPACE:
 58916  		goto __86
 58917  	case OP_WHITESPACE:
 58918  		goto __87
 58919  	case OP_NOT_WORDCHAR:
 58920  		goto __88
 58921  	case OP_WORDCHAR:
 58922  		goto __89
 58923  	case OP_ANY:
 58924  		goto __90
 58925  	case OP_ALLANY:
 58926  		goto __91
 58927  	case OP_EXTUNI:
 58928  		goto __92
 58929  	case OP_HSPACE:
 58930  		goto __93
 58931  	case OP_NOT_HSPACE:
 58932  		goto __94
 58933  	case OP_VSPACE:
 58934  		goto __95
 58935  	case OP_NOT_VSPACE:
 58936  		goto __96
 58937  
 58938  	// "Any newline" might match two characters, but it also might match just
 58939  	//     one.
 58940  
 58941  	case OP_ANYNL:
 58942  		goto __97
 58943  
 58944  	// The single-byte matcher means we can't proceed in UTF mode. (In
 58945  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 58946  	//     appear, but leave the code, just in case.)
 58947  
 58948  	case OP_ANYBYTE:
 58949  		goto __98
 58950  
 58951  	// For repeated character types, we have to test for \p and \P, which have
 58952  	//     an extra two bytes of parameters.
 58953  
 58954  	case OP_TYPESTAR:
 58955  		goto __99
 58956  	case OP_TYPEMINSTAR:
 58957  		goto __100
 58958  	case OP_TYPEQUERY:
 58959  		goto __101
 58960  	case OP_TYPEMINQUERY:
 58961  		goto __102
 58962  	case OP_TYPEPOSSTAR:
 58963  		goto __103
 58964  	case OP_TYPEPOSQUERY:
 58965  		goto __104
 58966  
 58967  	case OP_TYPEUPTO:
 58968  		goto __105
 58969  	case OP_TYPEMINUPTO:
 58970  		goto __106
 58971  	case OP_TYPEPOSUPTO:
 58972  		goto __107
 58973  
 58974  	// Check a class for variable quantification
 58975  
 58976  	case OP_CLASS:
 58977  		goto __108
 58978  	case OP_NCLASS:
 58979  		goto __109
 58980  	case OP_XCLASS:
 58981  		goto __110
 58982  
 58983  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 58984  	//     way: we find the minimum length for the subpattern. A recursion
 58985  	//     (backreference or subroutine) causes an a flag to be set that causes the
 58986  	//     length of this branch to be ignored. The logic is that a recursion can only
 58987  	//     make sense if there is another alternative that stops the recursing. That
 58988  	//     will provide the minimum length (when no recursion happens).
 58989  	//
 58990  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 58991  	//     matches an empty string (by default it causes a matching failure), so in
 58992  	//     that case we must set the minimum length to zero.
 58993  	//
 58994  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 58995  	//     for a reference to a duplicate. If it is, we don't know which version will
 58996  	//     be referenced, so we have to set the minimum length to zero.
 58997  
 58998  	// Duplicate named pattern back reference.
 58999  
 59000  	case OP_DNREF:
 59001  		goto __111
 59002  	case OP_DNREFI:
 59003  		goto __112
 59004  
 59005  	// Single back reference by number. References by name are converted to by
 59006  	//     number when there is no duplication.
 59007  
 59008  	case OP_REF:
 59009  		goto __113
 59010  	case OP_REFI:
 59011  		goto __114
 59012  
 59013  	// Recursion always refers to the first occurrence of a subpattern with a
 59014  	//     given number. Therefore, we can always make use of caching, even when the
 59015  	//     pattern contains multiple subpatterns with the same number.
 59016  
 59017  	case OP_RECURSE:
 59018  		goto __115
 59019  
 59020  	// Anything else does not or need not match a character. We can get the
 59021  	//     item's length from the table, but for those that can match zero occurrences
 59022  	//     of a character, we must take special action for UTF-8 characters. As it
 59023  	//     happens, the "NOT" versions of these opcodes are used at present only for
 59024  	//     ASCII characters, so they could be omitted from this list. However, in
 59025  	//     future that may change, so we include them here so as not to leave a
 59026  	//     gotcha for a future maintainer.
 59027  
 59028  	case OP_UPTO:
 59029  		goto __116
 59030  	case OP_UPTOI:
 59031  		goto __117
 59032  	case OP_NOTUPTO:
 59033  		goto __118
 59034  	case OP_NOTUPTOI:
 59035  		goto __119
 59036  	case OP_MINUPTO:
 59037  		goto __120
 59038  	case OP_MINUPTOI:
 59039  		goto __121
 59040  	case OP_NOTMINUPTO:
 59041  		goto __122
 59042  	case OP_NOTMINUPTOI:
 59043  		goto __123
 59044  	case OP_POSUPTO:
 59045  		goto __124
 59046  	case OP_POSUPTOI:
 59047  		goto __125
 59048  	case OP_NOTPOSUPTO:
 59049  		goto __126
 59050  	case OP_NOTPOSUPTOI:
 59051  		goto __127
 59052  
 59053  	case OP_STAR:
 59054  		goto __128
 59055  	case OP_STARI:
 59056  		goto __129
 59057  	case OP_NOTSTAR:
 59058  		goto __130
 59059  	case OP_NOTSTARI:
 59060  		goto __131
 59061  	case OP_MINSTAR:
 59062  		goto __132
 59063  	case OP_MINSTARI:
 59064  		goto __133
 59065  	case OP_NOTMINSTAR:
 59066  		goto __134
 59067  	case OP_NOTMINSTARI:
 59068  		goto __135
 59069  	case OP_POSSTAR:
 59070  		goto __136
 59071  	case OP_POSSTARI:
 59072  		goto __137
 59073  	case OP_NOTPOSSTAR:
 59074  		goto __138
 59075  	case OP_NOTPOSSTARI:
 59076  		goto __139
 59077  
 59078  	case OP_QUERY:
 59079  		goto __140
 59080  	case OP_QUERYI:
 59081  		goto __141
 59082  	case OP_NOTQUERY:
 59083  		goto __142
 59084  	case OP_NOTQUERYI:
 59085  		goto __143
 59086  	case OP_MINQUERY:
 59087  		goto __144
 59088  	case OP_MINQUERYI:
 59089  		goto __145
 59090  	case OP_NOTMINQUERY:
 59091  		goto __146
 59092  	case OP_NOTMINQUERYI:
 59093  		goto __147
 59094  	case OP_POSQUERY:
 59095  		goto __148
 59096  	case OP_POSQUERYI:
 59097  		goto __149
 59098  	case OP_NOTPOSQUERY:
 59099  		goto __150
 59100  	case OP_NOTPOSQUERYI:
 59101  		goto __151
 59102  
 59103  	// Skip these, but we need to add in the name length.
 59104  
 59105  	case OP_MARK:
 59106  		goto __152
 59107  	case OP_COMMIT_ARG:
 59108  		goto __153
 59109  	case OP_PRUNE_ARG:
 59110  		goto __154
 59111  	case OP_SKIP_ARG:
 59112  		goto __155
 59113  	case OP_THEN_ARG:
 59114  		goto __156
 59115  
 59116  	// The remaining opcodes are just skipped over.
 59117  
 59118  	case OP_CLOSE:
 59119  		goto __157
 59120  	case OP_COMMIT:
 59121  		goto __158
 59122  	case OP_FAIL:
 59123  		goto __159
 59124  	case OP_PRUNE:
 59125  		goto __160
 59126  	case OP_SET_SOM:
 59127  		goto __161
 59128  	case OP_SKIP:
 59129  		goto __162
 59130  	case OP_THEN:
 59131  		goto __163
 59132  
 59133  	// This should not occur: we list all opcodes explicitly so that when
 59134  	//     new ones get added they are properly considered.
 59135  
 59136  	default:
 59137  		goto __164
 59138  	}
 59139  	goto __8
 59140  
 59141  __9:
 59142  __10:
 59143  
 59144  	// If there is only one branch in a condition, the implied branch has zero
 59145  	//     length, so we don't add anything. This covers the DEFINE "condition"
 59146  	//     automatically. If there are two branches we can treat it the same as any
 59147  	//     other non-capturing subpattern.
 59148  
 59149  	cs = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59150  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs))) != OP_ALT) {
 59151  		goto __165
 59152  	}
 59153  
 59154  	cc = cs + uintptr(1) + uintptr(DLINK_SIZE)
 59155  	goto __8
 59156  __165:
 59157  	;
 59158  	goto PROCESS_NON_CAPTURE
 59159  
 59160  __11:
 59161  	// There's a special case of OP_BRA, when it is wrapped round a repeated
 59162  	//     OP_RECURSE. We'd like to process the latter at this level so that
 59163  	//     remembering the value works for repeated cases. So we do nothing, but
 59164  	//     set a fudge value to skip over the OP_KET after the recurse.
 59165  
 59166  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_RECURSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))) == OP_KET) {
 59167  		goto __166
 59168  	}
 59169  
 59170  	once_fudge = Tuint32_t(1 + DLINK_SIZE)
 59171  	cc += uintptr(1 + DLINK_SIZE)
 59172  	goto __8
 59173  __166:
 59174  	;
 59175  	// Fall through
 59176  
 59177  __12:
 59178  __13:
 59179  __14:
 59180  __15:
 59181  __16:
 59182  PROCESS_NON_CAPTURE:
 59183  	d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59184  		backref_cache)
 59185  	if !(d < 0) {
 59186  		goto __167
 59187  	}
 59188  	return d
 59189  __167:
 59190  	;
 59191  	branchlength = branchlength + d
 59192  __168:
 59193  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59194  	goto __169
 59195  __169:
 59196  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59197  		goto __168
 59198  	}
 59199  	goto __170
 59200  __170:
 59201  	;
 59202  	cc += uintptr(1 + DLINK_SIZE)
 59203  	goto __8
 59204  
 59205  	// To save time for repeated capturing subpatterns, we remember the
 59206  	//     length of the previous one. Unfortunately we can't do the same for
 59207  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 59208  	//     pattern because captures with the same number are not then identical.
 59209  
 59210  __17:
 59211  __18:
 59212  __19:
 59213  __20:
 59214  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59215  	if !(dupcapused != 0 || recno != prev_cap_recno) {
 59216  		goto __171
 59217  	}
 59218  
 59219  	prev_cap_recno = recno
 59220  	prev_cap_d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59221  		backref_cache)
 59222  	if !(prev_cap_d < 0) {
 59223  		goto __172
 59224  	}
 59225  	return prev_cap_d
 59226  __172:
 59227  	;
 59228  __171:
 59229  	;
 59230  	branchlength = branchlength + prev_cap_d
 59231  __173:
 59232  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59233  	goto __174
 59234  __174:
 59235  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59236  		goto __173
 59237  	}
 59238  	goto __175
 59239  __175:
 59240  	;
 59241  	cc += uintptr(1 + DLINK_SIZE)
 59242  	goto __8
 59243  
 59244  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 59245  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 59246  	//     used. However, leave the code in place, just in case.
 59247  
 59248  __21:
 59249  __22:
 59250  	return -1
 59251  
 59252  	// Reached end of a branch; if it's a ket it is the end of a nested
 59253  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 59254  	//     the end of the outer call. All can be handled by the same code. If the
 59255  	//     length of any branch is zero, there is no need to scan any subsequent
 59256  	//     branches.
 59257  
 59258  __23:
 59259  __24:
 59260  __25:
 59261  __26:
 59262  __27:
 59263  __28:
 59264  	if !(length < 0 || !(had_recurse != 0) && branchlength < length) {
 59265  		goto __176
 59266  	}
 59267  	length = branchlength
 59268  __176:
 59269  	;
 59270  	if !(int32(op) != OP_ALT || length == 0) {
 59271  		goto __177
 59272  	}
 59273  	return length
 59274  __177:
 59275  	;
 59276  	nextbranch = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59277  	cc += uintptr(1 + DLINK_SIZE)
 59278  	branchlength = 0
 59279  	had_recurse = DFALSE
 59280  	goto __8
 59281  
 59282  	// Skip over assertive subpatterns
 59283  
 59284  __29:
 59285  __30:
 59286  __31:
 59287  __32:
 59288  __33:
 59289  __34:
 59290  __178:
 59291  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59292  	goto __179
 59293  __179:
 59294  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59295  		goto __178
 59296  	}
 59297  	goto __180
 59298  __180:
 59299  	;
 59300  	// Fall through
 59301  
 59302  	// Skip over things that don't match chars
 59303  
 59304  __35:
 59305  __36:
 59306  __37:
 59307  __38:
 59308  __39:
 59309  __40:
 59310  __41:
 59311  __42:
 59312  __43:
 59313  __44:
 59314  __45:
 59315  __46:
 59316  __47:
 59317  __48:
 59318  __49:
 59319  __50:
 59320  __51:
 59321  __52:
 59322  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59323  	goto __8
 59324  
 59325  __53:
 59326  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 59327  	goto __8
 59328  
 59329  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 59330  
 59331  __54:
 59332  __55:
 59333  __56:
 59334  __57:
 59335  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59336  __181:
 59337  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59338  	goto __182
 59339  __182:
 59340  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59341  		goto __181
 59342  	}
 59343  	goto __183
 59344  __183:
 59345  	;
 59346  	cc += uintptr(1 + DLINK_SIZE)
 59347  	goto __8
 59348  
 59349  	// Handle literal characters and + repetitions
 59350  
 59351  __58:
 59352  __59:
 59353  __60:
 59354  __61:
 59355  __62:
 59356  __63:
 59357  __64:
 59358  __65:
 59359  __66:
 59360  __67:
 59361  __68:
 59362  __69:
 59363  __70:
 59364  __71:
 59365  __72:
 59366  __73:
 59367  	branchlength++
 59368  	cc += uintptr(2)
 59369  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59370  		goto __184
 59371  	}
 59372  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59373  __184:
 59374  	;
 59375  	goto __8
 59376  
 59377  __74:
 59378  __75:
 59379  __76:
 59380  	branchlength++
 59381  	cc += func() uintptr {
 59382  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP {
 59383  			return uintptr(4)
 59384  		}
 59385  		return uintptr(2)
 59386  	}()
 59387  	goto __8
 59388  
 59389  	// Handle exact repetitions. The count is already in characters, but we
 59390  	//     may need to skip over a multibyte character in UTF mode.
 59391  
 59392  __77:
 59393  __78:
 59394  __79:
 59395  __80:
 59396  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59397  	cc += uintptr(2 + DIMM2_SIZE)
 59398  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59399  		goto __185
 59400  	}
 59401  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59402  __185:
 59403  	;
 59404  	goto __8
 59405  
 59406  __81:
 59407  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59408  	cc += uintptr(2 + DIMM2_SIZE + func() int32 {
 59409  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59410  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP {
 59411  			return 2
 59412  		}
 59413  		return 0
 59414  	}())
 59415  	goto __8
 59416  
 59417  	// Handle single-char non-literal matchers
 59418  
 59419  __82:
 59420  __83:
 59421  	cc += uintptr(2)
 59422  	// Fall through
 59423  
 59424  __84:
 59425  __85:
 59426  __86:
 59427  __87:
 59428  __88:
 59429  __89:
 59430  __90:
 59431  __91:
 59432  __92:
 59433  __93:
 59434  __94:
 59435  __95:
 59436  __96:
 59437  	branchlength++
 59438  	cc++
 59439  	goto __8
 59440  
 59441  	// "Any newline" might match two characters, but it also might match just
 59442  	//     one.
 59443  
 59444  __97:
 59445  	branchlength = branchlength + 1
 59446  	cc++
 59447  	goto __8
 59448  
 59449  	// The single-byte matcher means we can't proceed in UTF mode. (In
 59450  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 59451  	//     appear, but leave the code, just in case.)
 59452  
 59453  __98:
 59454  	if !(utf != 0) {
 59455  		goto __186
 59456  	}
 59457  	return -1
 59458  __186:
 59459  	;
 59460  	branchlength++
 59461  	cc++
 59462  	goto __8
 59463  
 59464  	// For repeated character types, we have to test for \p and \P, which have
 59465  	//     an extra two bytes of parameters.
 59466  
 59467  __99:
 59468  __100:
 59469  __101:
 59470  __102:
 59471  __103:
 59472  __104:
 59473  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP) {
 59474  		goto __187
 59475  	}
 59476  	cc += uintptr(2)
 59477  __187:
 59478  	;
 59479  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59480  	goto __8
 59481  
 59482  __105:
 59483  __106:
 59484  __107:
 59485  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59486  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP) {
 59487  		goto __188
 59488  	}
 59489  	cc += uintptr(2)
 59490  __188:
 59491  	;
 59492  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59493  	goto __8
 59494  
 59495  	// Check a class for variable quantification
 59496  
 59497  __108:
 59498  __109:
 59499  __110:
 59500  	// The original code caused an unsigned overflow in 64 bit systems,
 59501  	//     so now we use a conditional statement.
 59502  	if !(int32(op) == OP_XCLASS) {
 59503  		goto __189
 59504  	}
 59505  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59506  	goto __190
 59507  __189:
 59508  	cc += uintptr(X_pcre2_OP_lengths_8[OP_CLASS])
 59509  __190:
 59510  	;
 59511  
 59512  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59513  	case OP_CRPLUS:
 59514  		goto __192
 59515  	case OP_CRMINPLUS:
 59516  		goto __193
 59517  	case OP_CRPOSPLUS:
 59518  		goto __194
 59519  	// Fall through
 59520  
 59521  	case OP_CRSTAR:
 59522  		goto __195
 59523  	case OP_CRMINSTAR:
 59524  		goto __196
 59525  	case OP_CRQUERY:
 59526  		goto __197
 59527  	case OP_CRMINQUERY:
 59528  		goto __198
 59529  	case OP_CRPOSSTAR:
 59530  		goto __199
 59531  	case OP_CRPOSQUERY:
 59532  		goto __200
 59533  
 59534  	case OP_CRRANGE:
 59535  		goto __201
 59536  	case OP_CRMINRANGE:
 59537  		goto __202
 59538  	case OP_CRPOSRANGE:
 59539  		goto __203
 59540  
 59541  	default:
 59542  		goto __204
 59543  	}
 59544  	goto __191
 59545  
 59546  __192:
 59547  __193:
 59548  __194:
 59549  	branchlength++
 59550  	// Fall through
 59551  
 59552  __195:
 59553  __196:
 59554  __197:
 59555  __198:
 59556  __199:
 59557  __200:
 59558  	cc++
 59559  	goto __191
 59560  
 59561  __201:
 59562  __202:
 59563  __203:
 59564  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59565  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59566  	goto __191
 59567  
 59568  __204:
 59569  	branchlength++
 59570  	goto __191
 59571  __191:
 59572  	;
 59573  	goto __8
 59574  
 59575  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 59576  	//     way: we find the minimum length for the subpattern. A recursion
 59577  	//     (backreference or subroutine) causes an a flag to be set that causes the
 59578  	//     length of this branch to be ignored. The logic is that a recursion can only
 59579  	//     make sense if there is another alternative that stops the recursing. That
 59580  	//     will provide the minimum length (when no recursion happens).
 59581  	//
 59582  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 59583  	//     matches an empty string (by default it causes a matching failure), so in
 59584  	//     that case we must set the minimum length to zero.
 59585  	//
 59586  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 59587  	//     for a reference to a duplicate. If it is, we don't know which version will
 59588  	//     be referenced, so we have to set the minimum length to zero.
 59589  
 59590  	// Duplicate named pattern back reference.
 59591  
 59592  __111:
 59593  __112:
 59594  	if !(!(dupcapused != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59595  		goto __205
 59596  	}
 59597  
 59598  	count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59599  	slot =
 59600  		re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))*uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 59601  
 59602  	d = 0x7fffffff
 59603  
 59604  	// Scan all groups with the same name; find the shortest.
 59605  
 59606  __207:
 59607  	if !(libc.PostDecInt32(&count, 1) > 0) {
 59608  		goto __208
 59609  	}
 59610  
 59611  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)))))
 59612  
 59613  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59614  		goto __209
 59615  	}
 59616  	dd = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59617  	goto __210
 59618  __209:
 59619  
 59620  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59621  	if !(cs == uintptr(0)) {
 59622  		goto __211
 59623  	}
 59624  	return -2
 59625  __211:
 59626  	;
 59627  __212:
 59628  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59629  	goto __213
 59630  __213:
 59631  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59632  		goto __212
 59633  	}
 59634  	goto __214
 59635  __214:
 59636  	;
 59637  
 59638  	dd = 0
 59639  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59640  		goto __215
 59641  	}
 59642  
 59643  	if !(cc > cs && cc < ce) {
 59644  		goto __216
 59645  	} /* Simple recursion */
 59646  
 59647  	had_recurse = DTRUE
 59648  	goto __217
 59649  __216:
 59650  
 59651  	r = recurses
 59652  	r = recurses
 59653  __218:
 59654  	if !(r != uintptr(0)) {
 59655  		goto __220
 59656  	}
 59657  	if !((*Trecurse_check)(unsafe.Pointer(r)).Fgroup == cs) {
 59658  		goto __221
 59659  	}
 59660  	goto __220
 59661  __221:
 59662  	;
 59663  	goto __219
 59664  __219:
 59665  	r = (*Trecurse_check)(unsafe.Pointer(r)).Fprev
 59666  	goto __218
 59667  	goto __220
 59668  __220:
 59669  	;
 59670  	if !(r != uintptr(0)) {
 59671  		goto __222
 59672  	} /* Mutual recursion */
 59673  
 59674  	had_recurse = DTRUE
 59675  	goto __223
 59676  __222:
 59677  
 59678  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses // No recursion
 59679  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59680  	dd = find_minlength(tls, re, cs, startcode, utf, bp,
 59681  		countptr, backref_cache)
 59682  	if !(dd < 0) {
 59683  		goto __224
 59684  	}
 59685  	return dd
 59686  __224:
 59687  	;
 59688  __223:
 59689  	;
 59690  __217:
 59691  	;
 59692  __215:
 59693  	;
 59694  
 59695  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = dd
 59696  	i = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59697  __225:
 59698  	if !(i < recno) {
 59699  		goto __227
 59700  	}
 59701  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i)*4)) = -1
 59702  	goto __226
 59703  __226:
 59704  	i++
 59705  	goto __225
 59706  	goto __227
 59707  __227:
 59708  	;
 59709  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59710  __210:
 59711  	;
 59712  
 59713  	if !(dd < d) {
 59714  		goto __228
 59715  	}
 59716  	d = dd
 59717  __228:
 59718  	;
 59719  	if !(d <= 0) {
 59720  		goto __229
 59721  	}
 59722  	goto __208
 59723  __229:
 59724  	; // No point looking at any more
 59725  	slot += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 59726  	goto __207
 59727  __208:
 59728  	;
 59729  	goto __206
 59730  __205:
 59731  	d = 0
 59732  __206:
 59733  	;
 59734  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59735  	goto REPEAT_BACK_REFERENCE
 59736  
 59737  	// Single back reference by number. References by name are converted to by
 59738  	//     number when there is no duplication.
 59739  
 59740  __113:
 59741  __114:
 59742  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59743  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59744  		goto __230
 59745  	}
 59746  	d = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59747  	goto __231
 59748  __230:
 59749  
 59750  	d = 0
 59751  
 59752  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59753  		goto __232
 59754  	}
 59755  
 59756  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59757  	if !(cs == uintptr(0)) {
 59758  		goto __233
 59759  	}
 59760  	return -2
 59761  __233:
 59762  	;
 59763  __234:
 59764  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59765  	goto __235
 59766  __235:
 59767  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59768  		goto __234
 59769  	}
 59770  	goto __236
 59771  __236:
 59772  	;
 59773  
 59774  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59775  		goto __237
 59776  	}
 59777  
 59778  	if !(cc > cs && cc < ce) {
 59779  		goto __238
 59780  	} /* Simple recursion */
 59781  
 59782  	had_recurse = DTRUE
 59783  	goto __239
 59784  __238:
 59785  
 59786  	r1 = recurses
 59787  	r1 = recurses
 59788  __240:
 59789  	if !(r1 != uintptr(0)) {
 59790  		goto __242
 59791  	}
 59792  	if !((*Trecurse_check)(unsafe.Pointer(r1)).Fgroup == cs) {
 59793  		goto __243
 59794  	}
 59795  	goto __242
 59796  __243:
 59797  	;
 59798  	goto __241
 59799  __241:
 59800  	r1 = (*Trecurse_check)(unsafe.Pointer(r1)).Fprev
 59801  	goto __240
 59802  	goto __242
 59803  __242:
 59804  	;
 59805  	if !(r1 != uintptr(0)) {
 59806  		goto __244
 59807  	} /* Mutual recursion */
 59808  
 59809  	had_recurse = DTRUE
 59810  	goto __245
 59811  __244: /* No recursion */
 59812  
 59813  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59814  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59815  	d = find_minlength(tls, re, cs, startcode, utf, bp, countptr,
 59816  		backref_cache)
 59817  	if !(d < 0) {
 59818  		goto __246
 59819  	}
 59820  	return d
 59821  __246:
 59822  	;
 59823  __245:
 59824  	;
 59825  __239:
 59826  	;
 59827  __237:
 59828  	;
 59829  __232:
 59830  	;
 59831  
 59832  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = d
 59833  	i1 = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59834  __247:
 59835  	if !(i1 < recno) {
 59836  		goto __249
 59837  	}
 59838  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i1)*4)) = -1
 59839  	goto __248
 59840  __248:
 59841  	i1++
 59842  	goto __247
 59843  	goto __249
 59844  __249:
 59845  	;
 59846  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59847  __231:
 59848  	;
 59849  
 59850  	cc += uintptr(1 + DIMM2_SIZE)
 59851  
 59852  	// Handle repeated back references
 59853  
 59854  REPEAT_BACK_REFERENCE:
 59855  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59856  	case OP_CRSTAR:
 59857  		goto __251
 59858  	case OP_CRMINSTAR:
 59859  		goto __252
 59860  	case OP_CRQUERY:
 59861  		goto __253
 59862  	case OP_CRMINQUERY:
 59863  		goto __254
 59864  	case OP_CRPOSSTAR:
 59865  		goto __255
 59866  	case OP_CRPOSQUERY:
 59867  		goto __256
 59868  
 59869  	case OP_CRPLUS:
 59870  		goto __257
 59871  	case OP_CRMINPLUS:
 59872  		goto __258
 59873  	case OP_CRPOSPLUS:
 59874  		goto __259
 59875  
 59876  	case OP_CRRANGE:
 59877  		goto __260
 59878  	case OP_CRMINRANGE:
 59879  		goto __261
 59880  	case OP_CRPOSRANGE:
 59881  		goto __262
 59882  
 59883  	default:
 59884  		goto __263
 59885  	}
 59886  	goto __250
 59887  
 59888  __251:
 59889  __252:
 59890  __253:
 59891  __254:
 59892  __255:
 59893  __256:
 59894  	min = 0
 59895  	cc++
 59896  	goto __250
 59897  
 59898  __257:
 59899  __258:
 59900  __259:
 59901  	min = 1
 59902  	cc++
 59903  	goto __250
 59904  
 59905  __260:
 59906  __261:
 59907  __262:
 59908  	min = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59909  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59910  	goto __250
 59911  
 59912  __263:
 59913  	min = 1
 59914  	goto __250
 59915  __250:
 59916  	;
 59917  
 59918  	// Take care not to overflow: (1) min and d are ints, so check that their
 59919  	//      product is not greater than INT_MAX. (2) branchlength is limited to
 59920  	//      UINT16_MAX (checked at the top of the loop).
 59921  
 59922  	if !(d > 0 && 0x7fffffff/d < min || 65535-branchlength < min*d) {
 59923  		goto __264
 59924  	}
 59925  	branchlength = 65535
 59926  	goto __265
 59927  __264:
 59928  	branchlength = branchlength + min*d
 59929  __265:
 59930  	;
 59931  	goto __8
 59932  
 59933  	// Recursion always refers to the first occurrence of a subpattern with a
 59934  	//     given number. Therefore, we can always make use of caching, even when the
 59935  	//     pattern contains multiple subpatterns with the same number.
 59936  
 59937  __115:
 59938  	cs = libc.AssignUintptr(&ce, startcode+uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))))
 59939  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 4)))))
 59940  	if !(recno == prev_recurse_recno) {
 59941  		goto __266
 59942  	}
 59943  
 59944  	branchlength = branchlength + prev_recurse_d
 59945  	goto __267
 59946  __266:
 59947  
 59948  __268:
 59949  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59950  	goto __269
 59951  __269:
 59952  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59953  		goto __268
 59954  	}
 59955  	goto __270
 59956  __270:
 59957  	;
 59958  	if !(cc > cs && cc < ce) {
 59959  		goto __271
 59960  	} // Simple recursion
 59961  	had_recurse = DTRUE
 59962  	goto __272
 59963  __271:
 59964  
 59965  	r2 = recurses
 59966  	r2 = recurses
 59967  __273:
 59968  	if !(r2 != uintptr(0)) {
 59969  		goto __275
 59970  	}
 59971  	if !((*Trecurse_check)(unsafe.Pointer(r2)).Fgroup == cs) {
 59972  		goto __276
 59973  	}
 59974  	goto __275
 59975  __276:
 59976  	;
 59977  	goto __274
 59978  __274:
 59979  	r2 = (*Trecurse_check)(unsafe.Pointer(r2)).Fprev
 59980  	goto __273
 59981  	goto __275
 59982  __275:
 59983  	;
 59984  	if !(r2 != uintptr(0)) {
 59985  		goto __277
 59986  	} // Mutual recursion
 59987  	had_recurse = DTRUE
 59988  	goto __278
 59989  __277:
 59990  
 59991  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59992  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59993  	prev_recurse_d = find_minlength(tls, re, cs, startcode, utf, bp,
 59994  		countptr, backref_cache)
 59995  	if !(prev_recurse_d < 0) {
 59996  		goto __279
 59997  	}
 59998  	return prev_recurse_d
 59999  __279:
 60000  	;
 60001  	prev_recurse_recno = recno
 60002  	branchlength = branchlength + prev_recurse_d
 60003  __278:
 60004  	;
 60005  __272:
 60006  	;
 60007  __267:
 60008  	;
 60009  	cc += uintptr(Tuint32_t(1+DLINK_SIZE) + once_fudge)
 60010  	once_fudge = Tuint32_t(0)
 60011  	goto __8
 60012  
 60013  	// Anything else does not or need not match a character. We can get the
 60014  	//     item's length from the table, but for those that can match zero occurrences
 60015  	//     of a character, we must take special action for UTF-8 characters. As it
 60016  	//     happens, the "NOT" versions of these opcodes are used at present only for
 60017  	//     ASCII characters, so they could be omitted from this list. However, in
 60018  	//     future that may change, so we include them here so as not to leave a
 60019  	//     gotcha for a future maintainer.
 60020  
 60021  __116:
 60022  __117:
 60023  __118:
 60024  __119:
 60025  __120:
 60026  __121:
 60027  __122:
 60028  __123:
 60029  __124:
 60030  __125:
 60031  __126:
 60032  __127:
 60033  
 60034  __128:
 60035  __129:
 60036  __130:
 60037  __131:
 60038  __132:
 60039  __133:
 60040  __134:
 60041  __135:
 60042  __136:
 60043  __137:
 60044  __138:
 60045  __139:
 60046  
 60047  __140:
 60048  __141:
 60049  __142:
 60050  __143:
 60051  __144:
 60052  __145:
 60053  __146:
 60054  __147:
 60055  __148:
 60056  __149:
 60057  __150:
 60058  __151:
 60059  
 60060  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60061  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 60062  		goto __280
 60063  	}
 60064  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 60065  __280:
 60066  	;
 60067  	goto __8
 60068  
 60069  	// Skip these, but we need to add in the name length.
 60070  
 60071  __152:
 60072  __153:
 60073  __154:
 60074  __155:
 60075  __156:
 60076  	cc += uintptr(int32(X_pcre2_OP_lengths_8[op]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 60077  	goto __8
 60078  
 60079  	// The remaining opcodes are just skipped over.
 60080  
 60081  __157:
 60082  __158:
 60083  __159:
 60084  __160:
 60085  __161:
 60086  __162:
 60087  __163:
 60088  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60089  	goto __8
 60090  
 60091  	// This should not occur: we list all opcodes explicitly so that when
 60092  	//     new ones get added they are properly considered.
 60093  
 60094  __164:
 60095  	return -3
 60096  __8:
 60097  	;
 60098  	goto __5
 60099  __5:
 60100  	goto __4
 60101  	goto __6
 60102  __6:
 60103  	;
 60104  	return int32(0)
 60105  	// Control never gets here
 60106  }
 60107  
 60108  // ************************************************
 60109  //
 60110  //      Set a bit and maybe its alternate case    *
 60111  //
 60112  
 60113  // Given a character, set its first code unit's bit in the table, and also the
 60114  // corresponding bit for the other version of a letter if we are caseless.
 60115  //
 60116  // Arguments:
 60117  //   re            points to the regex block
 60118  //   p             points to the first code unit of the character
 60119  //   caseless      TRUE if caseless
 60120  //   utf           TRUE for UTF mode
 60121  //   ucp           TRUE for UCP mode
 60122  //
 60123  // Returns:        pointer after the character
 60124  
 60125  func set_table_bit(tls *libc.TLS, re uintptr, p TPCRE2_SPTR8, caseless TBOOL, utf TBOOL, ucp TBOOL) TPCRE2_SPTR8 { /* pcre2_study.c:781:1: */
 60126  	bp := tls.Alloc(6)
 60127  	defer tls.Free(6)
 60128  
 60129  	var c Tuint32_t = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) // First code unit
 60130  
 60131  	_ = utf // Stop compiler warnings when UTF not supported
 60132  	_ = ucp
 60133  
 60134  	// In 16-bit and 32-bit modes, code units greater than 0xff set the bit for
 60135  	// 0xff.
 60136  
 60137  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60138  
 60139  	// In UTF-8 or UTF-16 mode, pick up the remaining code units in order to find
 60140  	// the end of the character, even when caseless.
 60141  
 60142  	if utf != 0 {
 60143  		if c >= Tuint32_t(0xc0) {
 60144  			if c&0x20 == Tuint32_t(0) {
 60145  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 60146  			} else if c&0x10 == Tuint32_t(0) {
 60147  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 60148  				p += uintptr(2)
 60149  			} else if c&0x08 == Tuint32_t(0) {
 60150  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f
 60151  				p += uintptr(3)
 60152  			} else if c&0x04 == Tuint32_t(0) {
 60153  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f
 60154  				p += uintptr(4)
 60155  			} else {
 60156  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f
 60157  				p += uintptr(5)
 60158  			}
 60159  		}
 60160  
 60161  	}
 60162  
 60163  	// If caseless, handle the other case of the character.
 60164  
 60165  	if caseless != 0 {
 60166  		if utf != 0 || ucp != 0 {
 60167  			c = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 60168  			if utf != 0 {
 60169  				// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60170  
 60171  				X_pcre2_ord2utf_8(tls, c, bp)
 60172  				*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60173  			} else if c < Tuint32_t(256) {
 60174  				*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60175  			}
 60176  		} else
 60177  
 60178  		// Not UTF or UCP
 60179  
 60180  		if 1 != 0 {
 60181  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c))))/8))) |= Tuint8_t(uint32(1) << (int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c)))) & 7))
 60182  		}
 60183  	}
 60184  
 60185  	return p
 60186  }
 60187  
 60188  // ************************************************
 60189  //
 60190  //     Set bits for a positive character type     *
 60191  //
 60192  
 60193  // This function sets starting bits for a character type. In UTF-8 mode, we can
 60194  // only do a direct setting for bytes less than 128, as otherwise there can be
 60195  // confusion with bytes in the middle of UTF-8 characters. In a "traditional"
 60196  // environment, the tables will only recognize ASCII characters anyway, but in at
 60197  // least one Windows environment, some higher bytes bits were set in the tables.
 60198  // So we deal with that case by considering the UTF-8 encoding.
 60199  //
 60200  // Arguments:
 60201  //   re             the regex block
 60202  //   cbit type      the type of character wanted
 60203  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60204  //
 60205  // Returns:         nothing
 60206  
 60207  func set_type_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:866:1: */
 60208  	bp := tls.Alloc(6)
 60209  	defer tls.Free(6)
 60210  
 60211  	var c Tuint32_t
 60212  	for c = Tuint32_t(0); c < table_limit; c++ {
 60213  		*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type))))))
 60214  	}
 60215  	if table_limit == uint32(32) {
 60216  		return
 60217  	}
 60218  	for c = Tuint32_t(128); c < Tuint32_t(256); c++ {
 60219  		if uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dcbits_offset)+c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) {
 60220  			// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60221  
 60222  			X_pcre2_ord2utf_8(tls, c, bp)
 60223  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60224  		}
 60225  	}
 60226  }
 60227  
 60228  // ************************************************
 60229  //
 60230  //     Set bits for a negative character type     *
 60231  //
 60232  
 60233  // This function sets starting bits for a negative character type such as \D.
 60234  // In UTF-8 mode, we can only do a direct setting for bytes less than 128, as
 60235  // otherwise there can be confusion with bytes in the middle of UTF-8 characters.
 60236  // Unlike in the positive case, where we can set appropriate starting bits for
 60237  // specific high-valued UTF-8 characters, in this case we have to set the bits for
 60238  // all high-valued characters. The lowest is 0xc2, but we overkill by starting at
 60239  // 0xc0 (192) for simplicity.
 60240  //
 60241  // Arguments:
 60242  //   re             the regex block
 60243  //   cbit type      the type of character wanted
 60244  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60245  //
 60246  // Returns:         nothing
 60247  
 60248  func set_nottype_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:907:1: */
 60249  	var c Tuint32_t
 60250  	for c = Tuint32_t(0); c < table_limit; c++ {
 60251  		*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type))))))))
 60252  	}
 60253  	if table_limit != uint32(32) {
 60254  		for c = Tuint32_t(24); c < Tuint32_t(32); c++ {
 60255  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) = Tuint8_t(0xff)
 60256  		}
 60257  	}
 60258  }
 60259  
 60260  // ************************************************
 60261  //
 60262  //      Create bitmap of starting code units      *
 60263  //
 60264  
 60265  // This function scans a compiled unanchored expression recursively and
 60266  // attempts to build a bitmap of the set of possible starting code units whose
 60267  // values are less than 256. In 16-bit and 32-bit mode, values above 255 all cause
 60268  // the 255 bit to be set. When calling set[_not]_type_bits() in UTF-8 (sic) mode
 60269  // we pass a value of 16 rather than 32 as the final argument. (See comments in
 60270  // those functions for the reason.)
 60271  //
 60272  // The SSB_CONTINUE return is useful for parenthesized groups in patterns such as
 60273  // (a*)b where the group provides some optional starting code units but scanning
 60274  // must continue at the outer level to find at least one mandatory code unit. At
 60275  // the outermost level, this function fails unless the result is SSB_DONE.
 60276  //
 60277  // We restrict recursion (for nested groups) to 1000 to avoid stack overflow
 60278  // issues.
 60279  //
 60280  // Arguments:
 60281  //   re           points to the compiled regex block
 60282  //   code         points to an expression
 60283  //   utf          TRUE if in UTF mode
 60284  //   ucp          TRUE if in UCP mode
 60285  //   depthptr     pointer to recurse depth
 60286  //
 60287  // Returns:       SSB_FAIL     => Failed to find any starting code units
 60288  //                SSB_DONE     => Found mandatory starting code units
 60289  //                SSB_CONTINUE => Found optional starting code units
 60290  //                SSB_UNKNOWN  => Hit an unrecognized opcode
 60291  //                SSB_TOODEEP  => Recursion is too deep
 60292  
 60293  func set_start_bits(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, depthptr uintptr) int32 { /* pcre2_study.c:953:1: */
 60294  	bp := tls.Alloc(6)
 60295  	defer tls.Free(6)
 60296  
 60297  	var c Tuint32_t
 60298  	var yield int32
 60299  	var table_limit int32
 60300  	// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60301  
 60302  	var p uintptr
 60303  	var b TPCRE2_UCHAR8
 60304  	var e TPCRE2_UCHAR8
 60305  	var p1 TPCRE2_SPTR8
 60306  	var d int32
 60307  	var rc int32
 60308  	var classmap uintptr
 60309  	var xclassflags TPCRE2_UCHAR8
 60310  	var try_next TBOOL
 60311  	var tcode TPCRE2_SPTR8
 60312  	yield = SSB_DONE
 60313  	if utf != 0 {
 60314  		table_limit = 16
 60315  	} else {
 60316  		table_limit = 32
 60317  	}
 60318  
 60319  	*(*int32)(unsafe.Pointer(depthptr)) += 1
 60320  	if !(*(*int32)(unsafe.Pointer(depthptr)) > 1000) {
 60321  		goto __1
 60322  	}
 60323  	return SSB_TOODEEP
 60324  __1:
 60325  	;
 60326  
 60327  __2:
 60328  	try_next = DTRUE
 60329  	tcode = code + uintptr(1) + uintptr(DLINK_SIZE)
 60330  
 60331  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS) {
 60332  		goto __5
 60333  	}
 60334  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 60335  __5:
 60336  	;
 60337  
 60338  __6:
 60339  	if !(try_next != 0) {
 60340  		goto __7
 60341  	} /* Loop for items in this branch */
 60342  	classmap = uintptr(0)
 60343  
 60344  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 60345  	// If we reach something we don't understand, it means a new opcode has
 60346  	//       been created that hasn't been added to this function. Hopefully this
 60347  	//       problem will be discovered during testing.
 60348  
 60349  	default:
 60350  		goto __9
 60351  
 60352  	// Fail for a valid opcode that implies no starting bits.
 60353  
 60354  	case OP_ACCEPT:
 60355  		goto __10
 60356  	case OP_ASSERT_ACCEPT:
 60357  		goto __11
 60358  	case OP_ALLANY:
 60359  		goto __12
 60360  	case OP_ANY:
 60361  		goto __13
 60362  	case OP_ANYBYTE:
 60363  		goto __14
 60364  	case OP_CIRCM:
 60365  		goto __15
 60366  	case OP_CLOSE:
 60367  		goto __16
 60368  	case OP_COMMIT:
 60369  		goto __17
 60370  	case OP_COMMIT_ARG:
 60371  		goto __18
 60372  	case OP_COND:
 60373  		goto __19
 60374  	case OP_CREF:
 60375  		goto __20
 60376  	case OP_FALSE:
 60377  		goto __21
 60378  	case OP_TRUE:
 60379  		goto __22
 60380  	case OP_DNCREF:
 60381  		goto __23
 60382  	case OP_DNREF:
 60383  		goto __24
 60384  	case OP_DNREFI:
 60385  		goto __25
 60386  	case OP_DNRREF:
 60387  		goto __26
 60388  	case OP_DOLL:
 60389  		goto __27
 60390  	case OP_DOLLM:
 60391  		goto __28
 60392  	case OP_END:
 60393  		goto __29
 60394  	case OP_EOD:
 60395  		goto __30
 60396  	case OP_EODN:
 60397  		goto __31
 60398  	case OP_EXTUNI:
 60399  		goto __32
 60400  	case OP_FAIL:
 60401  		goto __33
 60402  	case OP_MARK:
 60403  		goto __34
 60404  	case OP_NOT:
 60405  		goto __35
 60406  	case OP_NOTEXACT:
 60407  		goto __36
 60408  	case OP_NOTEXACTI:
 60409  		goto __37
 60410  	case OP_NOTI:
 60411  		goto __38
 60412  	case OP_NOTMINPLUS:
 60413  		goto __39
 60414  	case OP_NOTMINPLUSI:
 60415  		goto __40
 60416  	case OP_NOTMINQUERY:
 60417  		goto __41
 60418  	case OP_NOTMINQUERYI:
 60419  		goto __42
 60420  	case OP_NOTMINSTAR:
 60421  		goto __43
 60422  	case OP_NOTMINSTARI:
 60423  		goto __44
 60424  	case OP_NOTMINUPTO:
 60425  		goto __45
 60426  	case OP_NOTMINUPTOI:
 60427  		goto __46
 60428  	case OP_NOTPLUS:
 60429  		goto __47
 60430  	case OP_NOTPLUSI:
 60431  		goto __48
 60432  	case OP_NOTPOSPLUS:
 60433  		goto __49
 60434  	case OP_NOTPOSPLUSI:
 60435  		goto __50
 60436  	case OP_NOTPOSQUERY:
 60437  		goto __51
 60438  	case OP_NOTPOSQUERYI:
 60439  		goto __52
 60440  	case OP_NOTPOSSTAR:
 60441  		goto __53
 60442  	case OP_NOTPOSSTARI:
 60443  		goto __54
 60444  	case OP_NOTPOSUPTO:
 60445  		goto __55
 60446  	case OP_NOTPOSUPTOI:
 60447  		goto __56
 60448  	case OP_NOTPROP:
 60449  		goto __57
 60450  	case OP_NOTQUERY:
 60451  		goto __58
 60452  	case OP_NOTQUERYI:
 60453  		goto __59
 60454  	case OP_NOTSTAR:
 60455  		goto __60
 60456  	case OP_NOTSTARI:
 60457  		goto __61
 60458  	case OP_NOTUPTO:
 60459  		goto __62
 60460  	case OP_NOTUPTOI:
 60461  		goto __63
 60462  	case OP_NOT_HSPACE:
 60463  		goto __64
 60464  	case OP_NOT_VSPACE:
 60465  		goto __65
 60466  	case OP_PRUNE:
 60467  		goto __66
 60468  	case OP_PRUNE_ARG:
 60469  		goto __67
 60470  	case OP_RECURSE:
 60471  		goto __68
 60472  	case OP_REF:
 60473  		goto __69
 60474  	case OP_REFI:
 60475  		goto __70
 60476  	case OP_REVERSE:
 60477  		goto __71
 60478  	case OP_RREF:
 60479  		goto __72
 60480  	case OP_SCOND:
 60481  		goto __73
 60482  	case OP_SET_SOM:
 60483  		goto __74
 60484  	case OP_SKIP:
 60485  		goto __75
 60486  	case OP_SKIP_ARG:
 60487  		goto __76
 60488  	case OP_SOD:
 60489  		goto __77
 60490  	case OP_SOM:
 60491  		goto __78
 60492  	case OP_THEN:
 60493  		goto __79
 60494  	case OP_THEN_ARG:
 60495  		goto __80
 60496  
 60497  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60498  	//       uses OP_CIRCM). Skip over it.
 60499  
 60500  	case OP_CIRC:
 60501  		goto __81
 60502  
 60503  	// A "real" property test implies no starting bits, but the fake property
 60504  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60505  	//       are used for characters with more than one "other case", so there is no
 60506  	//       point in recognizing them for OP_NOTPROP.
 60507  
 60508  	case OP_PROP:
 60509  		goto __82
 60510  
 60511  	// We can ignore word boundary tests.
 60512  
 60513  	case OP_WORD_BOUNDARY:
 60514  		goto __83
 60515  	case OP_NOT_WORD_BOUNDARY:
 60516  		goto __84
 60517  
 60518  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60519  	//       bits from within the subpattern. If it can't find anything, we have to
 60520  	//       give up. If it finds some mandatory character(s), we are done for this
 60521  	//       branch. Otherwise, carry on scanning after the subpattern.
 60522  
 60523  	case OP_BRA:
 60524  		goto __85
 60525  	case OP_SBRA:
 60526  		goto __86
 60527  	case OP_CBRA:
 60528  		goto __87
 60529  	case OP_SCBRA:
 60530  		goto __88
 60531  	case OP_BRAPOS:
 60532  		goto __89
 60533  	case OP_SBRAPOS:
 60534  		goto __90
 60535  	case OP_CBRAPOS:
 60536  		goto __91
 60537  	case OP_SCBRAPOS:
 60538  		goto __92
 60539  	case OP_ONCE:
 60540  		goto __93
 60541  	case OP_SCRIPT_RUN:
 60542  		goto __94
 60543  	case OP_ASSERT:
 60544  		goto __95
 60545  	case OP_ASSERT_NA:
 60546  		goto __96
 60547  
 60548  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60549  	//       this branch, though we might have found something optional. For ALT, we
 60550  	//       continue with the next alternative, but we have to arrange that the final
 60551  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60552  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60553  	//       but after a nested subpattern, it causes scanning to continue.
 60554  
 60555  	case OP_ALT:
 60556  		goto __97
 60557  
 60558  	case OP_KET:
 60559  		goto __98
 60560  	case OP_KETRMAX:
 60561  		goto __99
 60562  	case OP_KETRMIN:
 60563  		goto __100
 60564  	case OP_KETRPOS:
 60565  		goto __101
 60566  
 60567  	// Skip over callout
 60568  
 60569  	case OP_CALLOUT:
 60570  		goto __102
 60571  
 60572  	case OP_CALLOUT_STR:
 60573  		goto __103
 60574  
 60575  	// Skip over lookbehind and negative lookahead assertions
 60576  
 60577  	case OP_ASSERT_NOT:
 60578  		goto __104
 60579  	case OP_ASSERTBACK:
 60580  		goto __105
 60581  	case OP_ASSERTBACK_NOT:
 60582  		goto __106
 60583  	case OP_ASSERTBACK_NA:
 60584  		goto __107
 60585  
 60586  	// BRAZERO does the bracket, but carries on.
 60587  
 60588  	case OP_BRAZERO:
 60589  		goto __108
 60590  	case OP_BRAMINZERO:
 60591  		goto __109
 60592  	case OP_BRAPOSZERO:
 60593  		goto __110
 60594  
 60595  	// SKIPZERO skips the bracket.
 60596  
 60597  	case OP_SKIPZERO:
 60598  		goto __111
 60599  
 60600  	// Single-char * or ? sets the bit and tries the next item
 60601  
 60602  	case OP_STAR:
 60603  		goto __112
 60604  	case OP_MINSTAR:
 60605  		goto __113
 60606  	case OP_POSSTAR:
 60607  		goto __114
 60608  	case OP_QUERY:
 60609  		goto __115
 60610  	case OP_MINQUERY:
 60611  		goto __116
 60612  	case OP_POSQUERY:
 60613  		goto __117
 60614  
 60615  	case OP_STARI:
 60616  		goto __118
 60617  	case OP_MINSTARI:
 60618  		goto __119
 60619  	case OP_POSSTARI:
 60620  		goto __120
 60621  	case OP_QUERYI:
 60622  		goto __121
 60623  	case OP_MINQUERYI:
 60624  		goto __122
 60625  	case OP_POSQUERYI:
 60626  		goto __123
 60627  
 60628  	// Single-char upto sets the bit and tries the next
 60629  
 60630  	case OP_UPTO:
 60631  		goto __124
 60632  	case OP_MINUPTO:
 60633  		goto __125
 60634  	case OP_POSUPTO:
 60635  		goto __126
 60636  
 60637  	case OP_UPTOI:
 60638  		goto __127
 60639  	case OP_MINUPTOI:
 60640  		goto __128
 60641  	case OP_POSUPTOI:
 60642  		goto __129
 60643  
 60644  	// At least one single char sets the bit and stops
 60645  
 60646  	case OP_EXACT:
 60647  		goto __130
 60648  	// Fall through
 60649  	case OP_CHAR:
 60650  		goto __131
 60651  	case OP_PLUS:
 60652  		goto __132
 60653  	case OP_MINPLUS:
 60654  		goto __133
 60655  	case OP_POSPLUS:
 60656  		goto __134
 60657  
 60658  	case OP_EXACTI:
 60659  		goto __135
 60660  	// Fall through
 60661  	case OP_CHARI:
 60662  		goto __136
 60663  	case OP_PLUSI:
 60664  		goto __137
 60665  	case OP_MINPLUSI:
 60666  		goto __138
 60667  	case OP_POSPLUSI:
 60668  		goto __139
 60669  
 60670  	// Special spacing and line-terminating items. These recognize specific
 60671  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 60672  	//       latter can match the two-character CRLF sequence, but that is not
 60673  	//       relevant for finding the first character, so their code here is
 60674  	//       identical.
 60675  
 60676  	case OP_HSPACE:
 60677  		goto __140
 60678  
 60679  	case OP_ANYNL:
 60680  		goto __141
 60681  	case OP_VSPACE:
 60682  		goto __142
 60683  
 60684  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 60685  	//       is set, we do not see these opcodes because \d etc are converted to
 60686  	//       properties. Therefore, these apply in the case when only characters less
 60687  	//       than 256 are recognized to match the types.
 60688  
 60689  	case OP_NOT_DIGIT:
 60690  		goto __143
 60691  
 60692  	case OP_DIGIT:
 60693  		goto __144
 60694  
 60695  	case OP_NOT_WHITESPACE:
 60696  		goto __145
 60697  
 60698  	case OP_WHITESPACE:
 60699  		goto __146
 60700  
 60701  	case OP_NOT_WORDCHAR:
 60702  		goto __147
 60703  
 60704  	case OP_WORDCHAR:
 60705  		goto __148
 60706  
 60707  	// One or more character type fudges the pointer and restarts, knowing
 60708  	//       it will hit a single character type and stop there.
 60709  
 60710  	case OP_TYPEPLUS:
 60711  		goto __149
 60712  	case OP_TYPEMINPLUS:
 60713  		goto __150
 60714  	case OP_TYPEPOSPLUS:
 60715  		goto __151
 60716  
 60717  	case OP_TYPEEXACT:
 60718  		goto __152
 60719  
 60720  	// Zero or more repeats of character types set the bits and then
 60721  	//       try again.
 60722  
 60723  	case OP_TYPEUPTO:
 60724  		goto __153
 60725  	case OP_TYPEMINUPTO:
 60726  		goto __154
 60727  	case OP_TYPEPOSUPTO:
 60728  		goto __155 // Fall through
 60729  
 60730  	case OP_TYPESTAR:
 60731  		goto __156
 60732  	case OP_TYPEMINSTAR:
 60733  		goto __157
 60734  	case OP_TYPEPOSSTAR:
 60735  		goto __158
 60736  	case OP_TYPEQUERY:
 60737  		goto __159
 60738  	case OP_TYPEMINQUERY:
 60739  		goto __160
 60740  	case OP_TYPEPOSQUERY:
 60741  		goto __161
 60742  
 60743  	// Extended class: if there are any property checks, or if this is a
 60744  	//       negative XCLASS without a map, give up. If there are no property checks,
 60745  	//       there must be wide characters on the XCLASS list, because otherwise an
 60746  	//       XCLASS would not have been created. This means that code points >= 255
 60747  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 60748  	//       for the relevant leading bytes.
 60749  
 60750  	case OP_XCLASS:
 60751  		goto __162
 60752  
 60753  	// It seems that the fall through comment must be outside the #ifdef if
 60754  	//       it is to avoid the gcc compiler warning.
 60755  
 60756  	// Fall through
 60757  
 60758  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 60759  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 60760  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 60761  	//       there is no difference between CLASS and NCLASS. In all other wide
 60762  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 60763  
 60764  	case OP_NCLASS:
 60765  		goto __163
 60766  	// Fall through
 60767  
 60768  	// Enter here for a positive non-XCLASS. If we have fallen through from
 60769  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 60770  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 60771  
 60772  	case OP_CLASS:
 60773  		goto __164
 60774  	}
 60775  	goto __8
 60776  
 60777  	// If we reach something we don't understand, it means a new opcode has
 60778  	//       been created that hasn't been added to this function. Hopefully this
 60779  	//       problem will be discovered during testing.
 60780  
 60781  __9:
 60782  	return SSB_UNKNOWN
 60783  
 60784  	// Fail for a valid opcode that implies no starting bits.
 60785  
 60786  __10:
 60787  __11:
 60788  __12:
 60789  __13:
 60790  __14:
 60791  __15:
 60792  __16:
 60793  __17:
 60794  __18:
 60795  __19:
 60796  __20:
 60797  __21:
 60798  __22:
 60799  __23:
 60800  __24:
 60801  __25:
 60802  __26:
 60803  __27:
 60804  __28:
 60805  __29:
 60806  __30:
 60807  __31:
 60808  __32:
 60809  __33:
 60810  __34:
 60811  __35:
 60812  __36:
 60813  __37:
 60814  __38:
 60815  __39:
 60816  __40:
 60817  __41:
 60818  __42:
 60819  __43:
 60820  __44:
 60821  __45:
 60822  __46:
 60823  __47:
 60824  __48:
 60825  __49:
 60826  __50:
 60827  __51:
 60828  __52:
 60829  __53:
 60830  __54:
 60831  __55:
 60832  __56:
 60833  __57:
 60834  __58:
 60835  __59:
 60836  __60:
 60837  __61:
 60838  __62:
 60839  __63:
 60840  __64:
 60841  __65:
 60842  __66:
 60843  __67:
 60844  __68:
 60845  __69:
 60846  __70:
 60847  __71:
 60848  __72:
 60849  __73:
 60850  __74:
 60851  __75:
 60852  __76:
 60853  __77:
 60854  __78:
 60855  __79:
 60856  __80:
 60857  	return SSB_FAIL
 60858  
 60859  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60860  	//       uses OP_CIRCM). Skip over it.
 60861  
 60862  __81:
 60863  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CIRC])
 60864  	goto __8
 60865  
 60866  	// A "real" property test implies no starting bits, but the fake property
 60867  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60868  	//       are used for characters with more than one "other case", so there is no
 60869  	//       point in recognizing them for OP_NOTPROP.
 60870  
 60871  __82:
 60872  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) != DPT_CLIST) {
 60873  		goto __165
 60874  	}
 60875  	return SSB_FAIL
 60876  __165:
 60877  	;
 60878  
 60879  	p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))*4
 60880  __166:
 60881  	if !(libc.AssignUint32(&c, *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4)))) < DNOTACHAR) {
 60882  		goto __167
 60883  	}
 60884  
 60885  	if !(utf != 0) {
 60886  		goto __168
 60887  	}
 60888  
 60889  	X_pcre2_ord2utf_8(tls, c, bp)
 60890  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))
 60891  __168:
 60892  	;
 60893  	if !(c > Tuint32_t(0xff)) {
 60894  		goto __169
 60895  	}
 60896  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 31)) |= uint8(uint32(1) << (0xff & 7))
 60897  	goto __170
 60898  __169:
 60899  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60900  __170:
 60901  	;
 60902  	goto __166
 60903  __167:
 60904  	;
 60905  
 60906  	try_next = DFALSE
 60907  	goto __8
 60908  
 60909  	// We can ignore word boundary tests.
 60910  
 60911  __83:
 60912  __84:
 60913  	tcode++
 60914  	goto __8
 60915  
 60916  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60917  	//       bits from within the subpattern. If it can't find anything, we have to
 60918  	//       give up. If it finds some mandatory character(s), we are done for this
 60919  	//       branch. Otherwise, carry on scanning after the subpattern.
 60920  
 60921  __85:
 60922  __86:
 60923  __87:
 60924  __88:
 60925  __89:
 60926  __90:
 60927  __91:
 60928  __92:
 60929  __93:
 60930  __94:
 60931  __95:
 60932  __96:
 60933  	rc = set_start_bits(tls, re, tcode, utf, ucp, depthptr)
 60934  	if !(rc == SSB_DONE) {
 60935  		goto __171
 60936  	}
 60937  
 60938  	try_next = DFALSE
 60939  	goto __172
 60940  __171:
 60941  	if !(rc == SSB_CONTINUE) {
 60942  		goto __173
 60943  	}
 60944  
 60945  __175:
 60946  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 60947  	goto __176
 60948  __176:
 60949  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 60950  		goto __175
 60951  	}
 60952  	goto __177
 60953  __177:
 60954  	;
 60955  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 60956  	goto __174
 60957  __173:
 60958  	return rc
 60959  __174:
 60960  	;
 60961  __172:
 60962  	; // FAIL, UNKNOWN, or TOODEEP
 60963  	goto __8
 60964  
 60965  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60966  	//       this branch, though we might have found something optional. For ALT, we
 60967  	//       continue with the next alternative, but we have to arrange that the final
 60968  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60969  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60970  	//       but after a nested subpattern, it causes scanning to continue.
 60971  
 60972  __97:
 60973  	yield = SSB_CONTINUE
 60974  	try_next = DFALSE
 60975  	goto __8
 60976  
 60977  __98:
 60978  __99:
 60979  __100:
 60980  __101:
 60981  	return SSB_CONTINUE
 60982  
 60983  	// Skip over callout
 60984  
 60985  __102:
 60986  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 60987  	goto __8
 60988  
 60989  __103:
 60990  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 6)))))
 60991  	goto __8
 60992  
 60993  	// Skip over lookbehind and negative lookahead assertions
 60994  
 60995  __104:
 60996  __105:
 60997  __106:
 60998  __107:
 60999  __178:
 61000  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61001  	goto __179
 61002  __179:
 61003  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61004  		goto __178
 61005  	}
 61006  	goto __180
 61007  __180:
 61008  	;
 61009  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61010  	goto __8
 61011  
 61012  	// BRAZERO does the bracket, but carries on.
 61013  
 61014  __108:
 61015  __109:
 61016  __110:
 61017  	rc = set_start_bits(tls, re, libc.PreIncUintptr(&tcode, 1), utf, ucp, depthptr)
 61018  	if !(rc == SSB_FAIL || rc == SSB_UNKNOWN || rc == SSB_TOODEEP) {
 61019  		goto __181
 61020  	}
 61021  	return rc
 61022  __181:
 61023  	;
 61024  __182:
 61025  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61026  	goto __183
 61027  __183:
 61028  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61029  		goto __182
 61030  	}
 61031  	goto __184
 61032  __184:
 61033  	;
 61034  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61035  	goto __8
 61036  
 61037  	// SKIPZERO skips the bracket.
 61038  
 61039  __111:
 61040  	tcode++
 61041  __185:
 61042  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61043  	goto __186
 61044  __186:
 61045  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61046  		goto __185
 61047  	}
 61048  	goto __187
 61049  __187:
 61050  	;
 61051  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61052  	goto __8
 61053  
 61054  	// Single-char * or ? sets the bit and tries the next item
 61055  
 61056  __112:
 61057  __113:
 61058  __114:
 61059  __115:
 61060  __116:
 61061  __117:
 61062  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61063  	goto __8
 61064  
 61065  __118:
 61066  __119:
 61067  __120:
 61068  __121:
 61069  __122:
 61070  __123:
 61071  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61072  	goto __8
 61073  
 61074  	// Single-char upto sets the bit and tries the next
 61075  
 61076  __124:
 61077  __125:
 61078  __126:
 61079  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DFALSE, utf, ucp)
 61080  	goto __8
 61081  
 61082  __127:
 61083  __128:
 61084  __129:
 61085  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DTRUE, utf, ucp)
 61086  	goto __8
 61087  
 61088  	// At least one single char sets the bit and stops
 61089  
 61090  __130:
 61091  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61092  	// Fall through
 61093  __131:
 61094  __132:
 61095  __133:
 61096  __134:
 61097  	set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61098  	try_next = DFALSE
 61099  	goto __8
 61100  
 61101  __135:
 61102  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61103  	// Fall through
 61104  __136:
 61105  __137:
 61106  __138:
 61107  __139:
 61108  	set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61109  	try_next = DFALSE
 61110  	goto __8
 61111  
 61112  	// Special spacing and line-terminating items. These recognize specific
 61113  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 61114  	//       latter can match the two-character CRLF sequence, but that is not
 61115  	//       relevant for finding the first character, so their code here is
 61116  	//       identical.
 61117  
 61118  __140:
 61119  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61120  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61121  
 61122  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61123  	//       the bits for 0xA0 and for code units >= 255, independently of UTF.
 61124  
 61125  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61126  	//       units of horizontal space characters.
 61127  
 61128  	if !(utf != 0) {
 61129  		goto __188
 61130  	}
 61131  
 61132  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61133  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61134  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61135  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61136  	goto __189
 61137  __188:
 61138  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61139  	   the code is EBCDIC. */
 61140  
 61141  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61142  __189:
 61143  	;
 61144  
 61145  	try_next = DFALSE
 61146  	goto __8
 61147  
 61148  __141:
 61149  __142:
 61150  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61151  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61152  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61153  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61154  
 61155  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61156  	//       the bits for NEL and for code units >= 255, independently of UTF.
 61157  
 61158  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61159  	//       units of vertical space characters.
 61160  
 61161  	if !(utf != 0) {
 61162  		goto __190
 61163  	}
 61164  
 61165  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61166  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61167  	goto __191
 61168  __190:
 61169  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61170  
 61171  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7))
 61172  __191:
 61173  	;
 61174  
 61175  	try_next = DFALSE
 61176  	goto __8
 61177  
 61178  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 61179  	//       is set, we do not see these opcodes because \d etc are converted to
 61180  	//       properties. Therefore, these apply in the case when only characters less
 61181  	//       than 256 are recognized to match the types.
 61182  
 61183  __143:
 61184  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61185  	try_next = DFALSE
 61186  	goto __8
 61187  
 61188  __144:
 61189  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61190  	try_next = DFALSE
 61191  	goto __8
 61192  
 61193  __145:
 61194  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61195  	try_next = DFALSE
 61196  	goto __8
 61197  
 61198  __146:
 61199  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61200  	try_next = DFALSE
 61201  	goto __8
 61202  
 61203  __147:
 61204  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61205  	try_next = DFALSE
 61206  	goto __8
 61207  
 61208  __148:
 61209  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61210  	try_next = DFALSE
 61211  	goto __8
 61212  
 61213  	// One or more character type fudges the pointer and restarts, knowing
 61214  	//       it will hit a single character type and stop there.
 61215  
 61216  __149:
 61217  __150:
 61218  __151:
 61219  	tcode++
 61220  	goto __8
 61221  
 61222  __152:
 61223  	tcode += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 61224  	goto __8
 61225  
 61226  	// Zero or more repeats of character types set the bits and then
 61227  	//       try again.
 61228  
 61229  __153:
 61230  __154:
 61231  __155:
 61232  	tcode += TPCRE2_SPTR8(DIMM2_SIZE) // Fall through
 61233  
 61234  __156:
 61235  __157:
 61236  __158:
 61237  __159:
 61238  __160:
 61239  __161:
 61240  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) {
 61241  	default:
 61242  		goto __193
 61243  	case OP_ANY:
 61244  		goto __194
 61245  	case OP_ALLANY:
 61246  		goto __195
 61247  
 61248  	case OP_HSPACE:
 61249  		goto __196
 61250  
 61251  	case OP_ANYNL:
 61252  		goto __197
 61253  	case OP_VSPACE:
 61254  		goto __198
 61255  
 61256  	case OP_NOT_DIGIT:
 61257  		goto __199
 61258  
 61259  	case OP_DIGIT:
 61260  		goto __200
 61261  
 61262  	case OP_NOT_WHITESPACE:
 61263  		goto __201
 61264  
 61265  	case OP_WHITESPACE:
 61266  		goto __202
 61267  
 61268  	case OP_NOT_WORDCHAR:
 61269  		goto __203
 61270  
 61271  	case OP_WORDCHAR:
 61272  		goto __204
 61273  	}
 61274  	goto __192
 61275  
 61276  __193:
 61277  __194:
 61278  __195:
 61279  	return SSB_FAIL
 61280  
 61281  __196:
 61282  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61283  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61284  
 61285  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61286  	//         the bits for 0xA0 and for code units >= 255, independently of UTF.
 61287  
 61288  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61289  	//         units of horizontal space characters.
 61290  
 61291  	if !(utf != 0) {
 61292  		goto __205
 61293  	}
 61294  
 61295  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61296  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61297  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61298  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61299  	goto __206
 61300  __205:
 61301  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61302  	   the code is EBCDIC. */
 61303  
 61304  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61305  __206:
 61306  	;
 61307  	goto __192
 61308  
 61309  __197:
 61310  __198:
 61311  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61312  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61313  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61314  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61315  
 61316  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61317  	//         the bits for NEL and for code units >= 255, independently of UTF.
 61318  
 61319  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61320  	//         units of vertical space characters.
 61321  
 61322  	if !(utf != 0) {
 61323  		goto __207
 61324  	}
 61325  
 61326  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61327  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61328  	goto __208
 61329  __207:
 61330  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61331  
 61332  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(libc.Uint8FromInt32(133)) & 7))
 61333  __208:
 61334  	;
 61335  	goto __192
 61336  
 61337  __199:
 61338  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61339  	goto __192
 61340  
 61341  __200:
 61342  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61343  	goto __192
 61344  
 61345  __201:
 61346  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61347  	goto __192
 61348  
 61349  __202:
 61350  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61351  	goto __192
 61352  
 61353  __203:
 61354  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61355  	goto __192
 61356  
 61357  __204:
 61358  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61359  	goto __192
 61360  __192:
 61361  	;
 61362  
 61363  	tcode += uintptr(2)
 61364  	goto __8
 61365  
 61366  	// Extended class: if there are any property checks, or if this is a
 61367  	//       negative XCLASS without a map, give up. If there are no property checks,
 61368  	//       there must be wide characters on the XCLASS list, because otherwise an
 61369  	//       XCLASS would not have been created. This means that code points >= 255
 61370  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 61371  	//       for the relevant leading bytes.
 61372  
 61373  __162:
 61374  	xclassflags = *(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 3))
 61375  	if !(int32(xclassflags)&DXCL_HASPROP != 0 || int32(xclassflags)&(DXCL_MAP|DXCL_NOT) == DXCL_NOT) {
 61376  		goto __209
 61377  	}
 61378  	return SSB_FAIL
 61379  __209:
 61380  	;
 61381  
 61382  	// We have a positive XCLASS or a negative one without a map. Set up the
 61383  	//       map pointer if there is one, and fall through.
 61384  
 61385  	if int32(xclassflags)&DXCL_MAP == 0 {
 61386  		classmap = uintptr(0)
 61387  	} else {
 61388  		classmap = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1)
 61389  	}
 61390  
 61391  	// In UTF-8 mode, scan the character list and set bits for leading bytes,
 61392  	//       then jump to handle the map.
 61393  
 61394  	if !(utf != 0 && int32(xclassflags)&DXCL_NOT == 0) {
 61395  		goto __210
 61396  	}
 61397  
 61398  	p1 = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1) + uintptr(func() int32 {
 61399  		if classmap == uintptr(0) {
 61400  			return 0
 61401  		}
 61402  		return 32
 61403  	}())
 61404  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61405  
 61406  __211:
 61407  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))) {
 61408  	case DXCL_SINGLE:
 61409  		goto __215
 61410  
 61411  	case DXCL_RANGE:
 61412  		goto __216
 61413  
 61414  	case DXCL_END:
 61415  		goto __217
 61416  
 61417  	default:
 61418  		goto __218
 61419  	}
 61420  	goto __214
 61421  
 61422  __215:
 61423  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61424  __219:
 61425  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61426  		goto __220
 61427  	}
 61428  	p1++
 61429  	goto __219
 61430  __220:
 61431  	;
 61432  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61433  	goto __214
 61434  
 61435  __216:
 61436  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61437  __221:
 61438  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61439  		goto __222
 61440  	}
 61441  	p1++
 61442  	goto __221
 61443  __222:
 61444  	;
 61445  	e = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61446  __223:
 61447  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61448  		goto __224
 61449  	}
 61450  	p1++
 61451  	goto __223
 61452  __224:
 61453  	;
 61454  __225:
 61455  	if !(int32(b) <= int32(e)) {
 61456  		goto __227
 61457  	}
 61458  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61459  	goto __226
 61460  __226:
 61461  	b++
 61462  	goto __225
 61463  	goto __227
 61464  __227:
 61465  	;
 61466  	goto __214
 61467  
 61468  __217:
 61469  	goto HANDLE_CLASSMAP
 61470  
 61471  __218:
 61472  	return SSB_UNKNOWN // Internal error, should not occur
 61473  __214:
 61474  	;
 61475  	goto __212
 61476  __212:
 61477  	goto __211
 61478  	goto __213
 61479  __213:
 61480  	;
 61481  __210:
 61482  	;
 61483  
 61484  	// It seems that the fall through comment must be outside the #ifdef if
 61485  	//       it is to avoid the gcc compiler warning.
 61486  
 61487  	// Fall through
 61488  
 61489  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 61490  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 61491  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 61492  	//       there is no difference between CLASS and NCLASS. In all other wide
 61493  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 61494  
 61495  __163:
 61496  	if !(utf != 0) {
 61497  		goto __228
 61498  	}
 61499  
 61500  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= Tuint8_t(0xf0) // Bits for 0xc4 - 0xc8
 61501  	libc.Xmemset(tls, re+40+uintptr(25), 0xff, uint64(7))        // Bits for 0xc9 - 0xff
 61502  __228:
 61503  	;
 61504  	// Fall through
 61505  
 61506  	// Enter here for a positive non-XCLASS. If we have fallen through from
 61507  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 61508  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 61509  
 61510  __164:
 61511  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_XCLASS) {
 61512  		goto __229
 61513  	}
 61514  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61515  	goto __230
 61516  __229:
 61517  
 61518  	classmap = libc.PreIncUintptr(&tcode, 1)
 61519  	tcode += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 61520  __230:
 61521  	;
 61522  
 61523  	// When wide characters are supported, classmap may be NULL. In UTF-8
 61524  	//       (sic) mode, the bits in a class bit map correspond to character values,
 61525  	//       not to byte values. However, the bit map we are constructing is for byte
 61526  	//       values. So we have to do a conversion for characters whose code point is
 61527  	//       greater than 127. In fact, there are only two possible starting bytes for
 61528  	//       characters in the range 128 - 255.
 61529  
 61530  HANDLE_CLASSMAP:
 61531  	if !(classmap != uintptr(0)) {
 61532  		goto __231
 61533  	}
 61534  
 61535  	if !(utf != 0) {
 61536  		goto __232
 61537  	}
 61538  
 61539  	c = Tuint32_t(0)
 61540  __234:
 61541  	if !(c < Tuint32_t(16)) {
 61542  		goto __236
 61543  	}
 61544  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61545  	goto __235
 61546  __235:
 61547  	c++
 61548  	goto __234
 61549  	goto __236
 61550  __236:
 61551  	;
 61552  	c = Tuint32_t(128)
 61553  __237:
 61554  	if !(c < Tuint32_t(256)) {
 61555  		goto __239
 61556  	}
 61557  
 61558  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) {
 61559  		goto __240
 61560  	}
 61561  
 61562  	d = int32(c>>6 | Tuint32_t(0xc0))                                                      // Set bit for this starter
 61563  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(d/8))) |= Tuint8_t(uint32(1) << (d & 7)) // and then skip on to the
 61564  	c = c&Tuint32_t(0xc0) + Tuint32_t(0x40) - Tuint32_t(1)                                 // next relevant character.
 61565  __240:
 61566  	;
 61567  	goto __238
 61568  __238:
 61569  	c++
 61570  	goto __237
 61571  	goto __239
 61572  __239:
 61573  	;
 61574  	goto __233
 61575  __232:
 61576  	/* In all modes except UTF-8, the two bit maps are compatible. */
 61577  
 61578  	c = Tuint32_t(0)
 61579  __241:
 61580  	if !(c < Tuint32_t(32)) {
 61581  		goto __243
 61582  	}
 61583  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61584  	goto __242
 61585  __242:
 61586  	c++
 61587  	goto __241
 61588  	goto __243
 61589  __243:
 61590  	;
 61591  __233:
 61592  	;
 61593  __231:
 61594  	;
 61595  
 61596  	// Act on what follows the class. For a zero minimum repeat, continue;
 61597  	//       otherwise stop processing.
 61598  
 61599  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 61600  	case OP_CRSTAR:
 61601  		goto __245
 61602  	case OP_CRMINSTAR:
 61603  		goto __246
 61604  	case OP_CRQUERY:
 61605  		goto __247
 61606  	case OP_CRMINQUERY:
 61607  		goto __248
 61608  	case OP_CRPOSSTAR:
 61609  		goto __249
 61610  	case OP_CRPOSQUERY:
 61611  		goto __250
 61612  
 61613  	case OP_CRRANGE:
 61614  		goto __251
 61615  	case OP_CRMINRANGE:
 61616  		goto __252
 61617  	case OP_CRPOSRANGE:
 61618  		goto __253
 61619  
 61620  	default:
 61621  		goto __254
 61622  	}
 61623  	goto __244
 61624  
 61625  __245:
 61626  __246:
 61627  __247:
 61628  __248:
 61629  __249:
 61630  __250:
 61631  	tcode++
 61632  	goto __244
 61633  
 61634  __251:
 61635  __252:
 61636  __253:
 61637  	if !(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))) == uint32(0)) {
 61638  		goto __255
 61639  	}
 61640  	tcode += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 61641  	goto __256
 61642  __255:
 61643  	try_next = DFALSE
 61644  __256:
 61645  	;
 61646  	goto __244
 61647  
 61648  __254:
 61649  	try_next = DFALSE
 61650  	goto __244
 61651  __244:
 61652  	;
 61653  	goto __8 // End of class handling case
 61654  __8:
 61655  	; // End of switch for opcodes
 61656  	goto __6
 61657  __7:
 61658  	; // End of try_next loop
 61659  
 61660  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) // Advance to next branch
 61661  	goto __3
 61662  __3:
 61663  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 61664  		goto __2
 61665  	}
 61666  	goto __4
 61667  __4:
 61668  	;
 61669  
 61670  	return yield
 61671  }
 61672  
 61673  // ************************************************
 61674  //
 61675  //          Study a compiled expression           *
 61676  //
 61677  
 61678  // This function is handed a compiled expression that it must study to produce
 61679  // information that will speed up the matching.
 61680  //
 61681  // Argument:
 61682  //   re       points to the compiled expression
 61683  //
 61684  // Returns:   0 normally; non-zero should never normally occur
 61685  //            1 unknown opcode in set_start_bits
 61686  //            2 missing capturing bracket
 61687  //            3 unknown opcode in find_minlength
 61688  
 61689  func X_pcre2_study_8(tls *libc.TLS, re uintptr) int32 { /* pcre2_study.c:1672:1: */
 61690  	bp := tls.Alloc(524)
 61691  	defer tls.Free(524)
 61692  
 61693  	// var count int32 at bp+520, 4
 61694  
 61695  	var code uintptr
 61696  	var utf TBOOL
 61697  	var ucp TBOOL
 61698  	var d int32
 61699  	var c int32
 61700  	var y Tuint8_t
 61701  	var x Tuint8_t
 61702  	var i int32
 61703  	var a int32
 61704  	var b int32
 61705  	var p uintptr
 61706  	var flags Tuint32_t
 61707  	// var depth int32 at bp, 4
 61708  
 61709  	var rc int32
 61710  	var min int32
 61711  	// var backref_cache [129]int32 at bp+4, 516
 61712  	*(*int32)(unsafe.Pointer(bp + 520 /* count */)) = 0
 61713  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 61714  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 61715  
 61716  	// Find start of compiled code
 61717  
 61718  	code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count))
 61719  
 61720  	// For a pattern that has a first code unit, or a multiline pattern that
 61721  	// matches only at "line start", there is no point in seeking a list of starting
 61722  	// code units.
 61723  
 61724  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET|DPCRE2_STARTLINE) == Tuint32_t(0)) {
 61725  		goto __1
 61726  	}
 61727  	*(*int32)(unsafe.Pointer(bp /* depth */)) = 0
 61728  	rc = set_start_bits(tls, re, code, utf, ucp, bp)
 61729  	if !(rc == SSB_UNKNOWN) {
 61730  		goto __2
 61731  	}
 61732  	return 1
 61733  __2:
 61734  	;
 61735  
 61736  	// If a list of starting code units was set up, scan the list to see if only
 61737  	//   one or two were listed. Having only one listed is rare because usually a
 61738  	//   single starting code unit will have been recognized and PCRE2_FIRSTSET set.
 61739  	//   If two are listed, see if they are caseless versions of the same character;
 61740  	//   if so we can replace the list with a caseless first code unit. This gives
 61741  	//   better performance and is plausibly worth doing for patterns such as [Ww]ord
 61742  	//   or (word|WORD).
 61743  
 61744  	if !(rc == SSB_DONE) {
 61745  		goto __3
 61746  	}
 61747  	a = -1
 61748  	b = -1
 61749  	p = re + 40 /* &.start_bitmap */
 61750  	flags = Tuint32_t(DPCRE2_FIRSTMAPSET)
 61751  
 61752  	i = 0
 61753  __4:
 61754  	if !(i < 256) {
 61755  		goto __6
 61756  	}
 61757  
 61758  	x = *(*Tuint8_t)(unsafe.Pointer(p))
 61759  	if !(int32(x) != 0) {
 61760  		goto __7
 61761  	}
 61762  
 61763  	y = Tuint8_t(int32(x) & (^int32(x) + 1)) // Least significant bit
 61764  	if !(int32(y) != int32(x)) {
 61765  		goto __8
 61766  	}
 61767  	goto DONE
 61768  __8:
 61769  	; // More than one bit set
 61770  
 61771  	// In the 16-bit and 32-bit libraries, the bit for 0xff means "0xff and
 61772  	//         all wide characters", so we cannot use it here.
 61773  
 61774  	// Compute the character value
 61775  
 61776  	c = i
 61777  	switch int32(x) {
 61778  	case 1:
 61779  		goto __10
 61780  	case 2:
 61781  		goto __11
 61782  	case 4:
 61783  		goto __12
 61784  	case 8:
 61785  		goto __13
 61786  	case 16:
 61787  		goto __14
 61788  	case 32:
 61789  		goto __15
 61790  	case 64:
 61791  		goto __16
 61792  	case 128:
 61793  		goto __17
 61794  	}
 61795  	goto __9
 61796  
 61797  __10:
 61798  	goto __9
 61799  __11:
 61800  	c = c + 1
 61801  	goto __9
 61802  __12:
 61803  	c = c + 2
 61804  	goto __9
 61805  __13:
 61806  	c = c + 3
 61807  	goto __9
 61808  __14:
 61809  	c = c + 4
 61810  	goto __9
 61811  __15:
 61812  	c = c + 5
 61813  	goto __9
 61814  __16:
 61815  	c = c + 6
 61816  	goto __9
 61817  __17:
 61818  	c = c + 7
 61819  	goto __9
 61820  __9:
 61821  	;
 61822  
 61823  	// c contains the code unit value, in the range 0-255. In 8-bit UTF
 61824  	//         mode, only values < 128 can be used. In all the other cases, c is a
 61825  	//         character value.
 61826  
 61827  	if !(utf != 0 && c > 127) {
 61828  		goto __18
 61829  	}
 61830  	goto DONE
 61831  __18:
 61832  	;
 61833  	if !(a < 0) {
 61834  		goto __19
 61835  	}
 61836  	a = c
 61837  	goto __20
 61838  __19:
 61839  	if !(b < 0) {
 61840  		goto __21
 61841  	} /* Second one found */
 61842  
 61843  	d = int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset) + uintptr(uint32(c)))))
 61844  
 61845  	if !(utf != 0 || ucp != 0) {
 61846  		goto __23
 61847  	}
 61848  
 61849  	if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fcaseset) != 0) {
 61850  		goto __24
 61851  	}
 61852  	goto DONE
 61853  __24:
 61854  	; // Multiple case set
 61855  	if !(c > 127) {
 61856  		goto __25
 61857  	}
 61858  	d = int32(Tuint32_t(c + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fother_case))
 61859  __25:
 61860  	;
 61861  __23:
 61862  	;
 61863  
 61864  	if !(d != a) {
 61865  		goto __26
 61866  	}
 61867  	goto DONE
 61868  __26:
 61869  	;     // Not the other case of a
 61870  	b = c // Save second in b
 61871  	goto __22
 61872  __21:
 61873  	goto DONE
 61874  __22:
 61875  	;
 61876  __20:
 61877  	; // More than two characters found
 61878  __7:
 61879  	;
 61880  	goto __5
 61881  __5:
 61882  	p++
 61883  	i = i + 8
 61884  	goto __4
 61885  	goto __6
 61886  __6:
 61887  	;
 61888  
 61889  	// Replace the start code unit bits with a first code unit, but only if it
 61890  	//     is not the same as a required later code unit. This is because a search for
 61891  	//     a required code unit starts after an explicit first code unit, but at a
 61892  	//     code unit found from the bitmap. Patterns such as /a*a/ don't work
 61893  	//     if both the start unit and required unit are the same.
 61894  
 61895  	if !(a >= 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) == Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(a) && (b < 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(b)))) {
 61896  		goto __27
 61897  	}
 61898  
 61899  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(a)
 61900  	flags = Tuint32_t(DPCRE2_FIRSTSET)
 61901  	if !(b >= 0) {
 61902  		goto __28
 61903  	}
 61904  	flags = flags | Tuint32_t(DPCRE2_FIRSTCASELESS)
 61905  __28:
 61906  	;
 61907  __27:
 61908  	;
 61909  
 61910  DONE:
 61911  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= flags
 61912  __3:
 61913  	;
 61914  __1:
 61915  	;
 61916  
 61917  	// Find the minimum length of subject string. If the pattern can match an empty
 61918  	// string, the minimum length is already known. If the pattern contains (*ACCEPT)
 61919  	// all bets are off, and we don't even try to find a minimum length. If there are
 61920  	// more back references than the size of the vector we are going to cache them in,
 61921  	// do nothing. A pattern that complicated will probably take a long time to
 61922  	// analyze and may in any case turn out to be too complicated. Note that back
 61923  	// reference minima are held as 16-bit numbers.
 61924  
 61925  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY|DPCRE2_HASACCEPT) == Tuint32_t(0) && int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref) <= DMAX_CACHE_BACKREF) {
 61926  		goto __29
 61927  	}
 61928  
 61929  	*(*int32)(unsafe.Pointer(bp + 4)) = 0 // Highest one that is set
 61930  	min = find_minlength(tls, re, code, code, utf, uintptr(0), bp+520, bp+4)
 61931  	switch min {
 61932  	case -1:
 61933  		goto __31 // Leave minlength unchanged (will be zero)
 61934  
 61935  	case -2:
 61936  		goto __32 // missing capturing bracket
 61937  
 61938  	case -3:
 61939  		goto __33 // unrecognized opcode
 61940  
 61941  	default:
 61942  		goto __34
 61943  	}
 61944  	goto __30
 61945  
 61946  __31: // \C in UTF mode or over-complex regex
 61947  	goto __30 // Leave minlength unchanged (will be zero)
 61948  
 61949  __32:
 61950  	return 2 // missing capturing bracket
 61951  
 61952  __33:
 61953  	return 3 // unrecognized opcode
 61954  
 61955  __34:
 61956  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = func() uint16 {
 61957  		if min > 65535 {
 61958  			return uint16(65535)
 61959  		}
 61960  		return uint16(min)
 61961  	}()
 61962  	goto __30
 61963  __30:
 61964  	;
 61965  __29:
 61966  	;
 61967  
 61968  	return 0
 61969  }
 61970  
 61971  // End of pcre2_study.c
 61972  
 61973  // This function is needed only when memmove() is not available.
 61974  
 61975  // End of pcre2_internal.h
 61976  
 61977  // ************************************************
 61978  //
 61979  //           Find end of substitute text          *
 61980  //
 61981  
 61982  // In extended mode, we recognize ${name:+set text:unset text} and similar
 61983  // constructions. This requires the identification of unescaped : and }
 61984  // characters. This function scans for such. It must deal with nested ${
 61985  // constructions. The pointer to the text is updated, either to the required end
 61986  // character, or to where an error was detected.
 61987  //
 61988  // Arguments:
 61989  //   code      points to the compiled expression (for options)
 61990  //   ptrptr    points to the pointer to the start of the text (updated)
 61991  //   ptrend    end of the whole string
 61992  //   last      TRUE if the last expected string (only } recognized)
 61993  //
 61994  // Returns:    0 on success
 61995  //             negative error code on failure
 61996  
 61997  func find_text_end(tls *libc.TLS, code uintptr, ptrptr uintptr, ptrend TPCRE2_SPTR8, last TBOOL) int32 { /* pcre2_substitute.c:79:1: */
 61998  	bp := tls.Alloc(16)
 61999  	defer tls.Free(16)
 62000  
 62001  	var rc int32
 62002  	var nestlevel Tuint32_t
 62003  	var literal TBOOL
 62004  	// var ptr TPCRE2_SPTR8 at bp, 8
 62005  
 62006  	var erc int32
 62007  	// var errorcode int32 at bp+12, 4
 62008  
 62009  	// var ch Tuint32_t at bp+8, 4
 62010  	rc = 0
 62011  	nestlevel = Tuint32_t(0)
 62012  	literal = DFALSE
 62013  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 62014  
 62015  __1:
 62016  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend) {
 62017  		goto __3
 62018  	}
 62019  
 62020  	if !(literal != 0) {
 62021  		goto __4
 62022  	}
 62023  
 62024  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\105') {
 62025  		goto __6
 62026  	}
 62027  
 62028  	literal = DFALSE
 62029  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62030  __6:
 62031  	;
 62032  	goto __5
 62033  __4:
 62034  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
 62035  		goto __7
 62036  	}
 62037  
 62038  	if !(nestlevel == Tuint32_t(0)) {
 62039  		goto __9
 62040  	}
 62041  	goto EXIT
 62042  __9:
 62043  	;
 62044  	nestlevel--
 62045  	goto __8
 62046  __7:
 62047  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\072' && !(last != 0) && nestlevel == Tuint32_t(0)) {
 62048  		goto __10
 62049  	}
 62050  	goto EXIT
 62051  	goto __11
 62052  __10:
 62053  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\044') {
 62054  		goto __12
 62055  	}
 62056  
 62057  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\173') {
 62058  		goto __14
 62059  	}
 62060  
 62061  	nestlevel++
 62062  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62063  __14:
 62064  	;
 62065  	goto __13
 62066  __12:
 62067  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134') {
 62068  		goto __15
 62069  	}
 62070  
 62071  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1)) {
 62072  		goto __16
 62073  	}
 62074  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) + 1))) {
 62075  	case '\114':
 62076  		goto __18
 62077  	case '\154':
 62078  		goto __19
 62079  	case '\125':
 62080  		goto __20
 62081  	case '\165':
 62082  		goto __21
 62083  	}
 62084  	goto __17
 62085  
 62086  __18:
 62087  __19:
 62088  __20:
 62089  __21:
 62090  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62091  	goto __2
 62092  __17:
 62093  	;
 62094  __16:
 62095  	;
 62096  
 62097  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) // Must point after \
 62098  	erc = X_pcre2_check_escape_8(tls, bp, ptrend, bp+8, bp+12,
 62099  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 62100  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) -= uintptr(1) // Back to last code unit of escape
 62101  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 62102  		goto __22
 62103  	}
 62104  
 62105  	rc = *(*int32)(unsafe.Pointer(bp + 12 /* errorcode */))
 62106  	goto EXIT
 62107  __22:
 62108  	;
 62109  
 62110  	switch erc {
 62111  	case 0:
 62112  		goto __24 // Data character
 62113  	case ESC_E:
 62114  		goto __25
 62115  
 62116  	case ESC_Q:
 62117  		goto __26
 62118  
 62119  	default:
 62120  		goto __27
 62121  	}
 62122  	goto __23
 62123  
 62124  __24: // Data character
 62125  __25: // Isolated \E is ignored
 62126  	goto __23
 62127  
 62128  __26:
 62129  	literal = DTRUE
 62130  	goto __23
 62131  
 62132  __27:
 62133  	rc = -57
 62134  	goto EXIT
 62135  __23:
 62136  	;
 62137  __15:
 62138  	;
 62139  __13:
 62140  	;
 62141  __11:
 62142  	;
 62143  __8:
 62144  	;
 62145  __5:
 62146  	;
 62147  	goto __2
 62148  __2:
 62149  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))++
 62150  	goto __1
 62151  	goto __3
 62152  __3:
 62153  	;
 62154  
 62155  	rc = -58 // Terminator not found
 62156  
 62157  EXIT:
 62158  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))
 62159  	return rc
 62160  }
 62161  
 62162  // ************************************************
 62163  //
 62164  //              Match and substitute              *
 62165  //
 62166  
 62167  // This function applies a compiled re to a subject string and creates a new
 62168  // string with substitutions. The first 7 arguments are the same as for
 62169  // pcre2_match(). Either string length may be PCRE2_ZERO_TERMINATED.
 62170  //
 62171  // Arguments:
 62172  //   code            points to the compiled expression
 62173  //   subject         points to the subject string
 62174  //   length          length of subject string (may contain binary zeros)
 62175  //   start_offset    where to start in the subject string
 62176  //   options         option bits
 62177  //   match_data      points to a match_data block, or is NULL
 62178  //   context         points a PCRE2 context
 62179  //   replacement     points to the replacement string
 62180  //   rlength         length of replacement string
 62181  //   buffer          where to put the substituted string
 62182  //   blength         points to length of buffer; updated to length of string
 62183  //
 62184  // Returns:          >= 0 number of substitutions made
 62185  //                   < 0 an error code
 62186  //                   PCRE2_ERROR_BADREPLACEMENT means invalid use of $
 62187  
 62188  // This macro checks for space in the buffer before copying into it. On
 62189  // overflow, either give an error immediately, or keep on, accumulating the
 62190  // length.
 62191  
 62192  // Here's the function
 62193  
 62194  func Xpcre2_substitute_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, replacement TPCRE2_SPTR8, rlength Tsize_t, buffer uintptr, blength uintptr) int32 { /* pcre2_substitute.c:220:1: */
 62195  	bp := tls.Alloc(328)
 62196  	defer tls.Free(328)
 62197  
 62198  	var rc int32
 62199  	var subs int32
 62200  	var forcecase int32
 62201  	var forcecasereset int32
 62202  	var ovector_count Tuint32_t
 62203  	var goptions Tuint32_t
 62204  	var suboptions Tuint32_t
 62205  	var internal_match_data uintptr
 62206  	var escaped_literal TBOOL
 62207  	var overflowed TBOOL
 62208  	var use_existing_match TBOOL
 62209  	var replacement_only TBOOL
 62210  	var utf TBOOL
 62211  	var ucp TBOOL
 62212  	// var temp [6]TPCRE2_UCHAR8 at bp+312, 6
 62213  
 62214  	// var ptr TPCRE2_SPTR8 at bp+280, 8
 62215  
 62216  	var repend TPCRE2_SPTR8
 62217  	var extra_needed Tsize_t
 62218  	var buff_offset Tsize_t
 62219  	var buff_length Tsize_t
 62220  	var lengthleft Tsize_t
 62221  	var fraglength Tsize_t
 62222  	var ovector uintptr
 62223  	// var ovecsave [3]Tsize_t at bp, 24
 62224  
 62225  	// var scb Tpcre2_substitute_callout_block_8 at bp+24, 56
 62226  
 62227  	var gcontext uintptr
 62228  	var gcontext1 uintptr
 62229  	var pairs int32
 62230  	var save_start Tsize_t
 62231  	var ctypes uintptr
 62232  	var mark_start TPCRE2_SPTR8
 62233  	var mark TPCRE2_SPTR8
 62234  	var ng Tuint32_t
 62235  	// var first TPCRE2_SPTR8 at bp+288, 8
 62236  
 62237  	// var last TPCRE2_SPTR8 at bp+296, 8
 62238  
 62239  	var entry TPCRE2_SPTR8
 62240  	var type1 Tuint32_t
 62241  	var subptr TPCRE2_SPTR8
 62242  	var subptrend TPCRE2_SPTR8
 62243  	var group int32
 62244  	var n int32
 62245  	var special Tuint32_t
 62246  	var inparens TBOOL
 62247  	var star TBOOL
 62248  	// var sublength Tsize_t at bp+304, 8
 62249  
 62250  	var text1_start TPCRE2_SPTR8
 62251  	var text1_end TPCRE2_SPTR8
 62252  	var text2_start TPCRE2_SPTR8
 62253  	var text2_end TPCRE2_SPTR8
 62254  	var next TPCRE2_UCHAR8
 62255  	// var name [33]TPCRE2_UCHAR8 at bp+240, 33
 62256  
 62257  	// var errorcode int32 at bp+324, 4
 62258  
 62259  	var type2 Tuint32_t
 62260  	// var ch Tuint32_t at bp+320, 4
 62261  
 62262  	var chlen uint32
 62263  	var newlength Tsize_t
 62264  	var oldlength Tsize_t
 62265  	// var ptrstack [20]TPCRE2_SPTR8 at bp+80, 160
 62266  
 62267  	var ptrstackptr Tuint32_t
 62268  	forcecase = 0
 62269  	forcecasereset = 0
 62270  	goptions = Tuint32_t(0)
 62271  	internal_match_data = uintptr(0)
 62272  	escaped_literal = DFALSE
 62273  	overflowed = DFALSE
 62274  	utf = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 62275  	ucp = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 62276  	extra_needed = uint64(0)
 62277  
 62278  	// General initialization
 62279  
 62280  	buff_offset = uint64(0)
 62281  	lengthleft = libc.AssignUint64(&buff_length, *(*Tsize_t)(unsafe.Pointer(blength)))
 62282  	*(*Tsize_t)(unsafe.Pointer(blength)) = libc.CplUint64(uint64(0))
 62283  	*(*Tsize_t)(unsafe.Pointer(bp)) = libc.AssignPtrUint64(bp+1*8, libc.AssignPtrUint64(bp+2*8, libc.CplUint64(uint64(0))))
 62284  
 62285  	// Partial matching is not valid. This must come after setting *blength to
 62286  	// PCRE2_UNSET, so as not to imply an offset in the replacement.
 62287  
 62288  	if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0)) {
 62289  		goto __1
 62290  	}
 62291  	return -34
 62292  __1:
 62293  	;
 62294  
 62295  	// Validate length and find the end of the replacement. A NULL replacement of
 62296  	// zero length is interpreted as an empty string.
 62297  
 62298  	if !(replacement == uintptr(0)) {
 62299  		goto __2
 62300  	}
 62301  
 62302  	if !(rlength != uint64(0)) {
 62303  		goto __3
 62304  	}
 62305  	return -51
 62306  __3:
 62307  	;
 62308  	replacement = ts + 797 /* "" */
 62309  __2:
 62310  	;
 62311  
 62312  	if !(rlength == libc.CplUint64(uint64(0))) {
 62313  		goto __4
 62314  	}
 62315  	rlength = X_pcre2_strlen_8(tls, replacement)
 62316  __4:
 62317  	;
 62318  	repend = replacement + uintptr(rlength)
 62319  
 62320  	// Check for using a match that has already happened. Note that the subject
 62321  	// pointer in the match data may be NULL after a no-match.
 62322  
 62323  	use_existing_match = libc.Bool32(options&DPCRE2_SUBSTITUTE_MATCHED != Tuint32_t(0))
 62324  	replacement_only = libc.Bool32(options&DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY != Tuint32_t(0))
 62325  
 62326  	// If starting from an existing match, there must be an externally provided
 62327  	// match data block. We create an internal match_data block in two cases: (a) an
 62328  	// external one is not supplied (and we are not starting from an existing match);
 62329  	// (b) an existing match is to be used for the first substitution. In the latter
 62330  	// case, we copy the existing match into the internal block. This ensures that no
 62331  	// changes are made to the existing match data block.
 62332  
 62333  	if !(match_data == uintptr(0)) {
 62334  		goto __5
 62335  	}
 62336  
 62337  	if !(use_existing_match != 0) {
 62338  		goto __7
 62339  	}
 62340  	return -51
 62341  __7:
 62342  	;
 62343  	if mcontext == uintptr(0) {
 62344  		gcontext = code
 62345  	} else {
 62346  		gcontext = mcontext
 62347  	}
 62348  	match_data = libc.AssignUintptr(&internal_match_data, Xpcre2_match_data_create_from_pattern_8(tls, code, gcontext))
 62349  	if !(internal_match_data == uintptr(0)) {
 62350  		goto __8
 62351  	}
 62352  	return -48
 62353  __8:
 62354  	;
 62355  	goto __6
 62356  __5:
 62357  	if !(use_existing_match != 0) {
 62358  		goto __9
 62359  	}
 62360  
 62361  	if mcontext == uintptr(0) {
 62362  		gcontext1 = code
 62363  	} else {
 62364  		gcontext1 = mcontext
 62365  	}
 62366  	if int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1 < int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 62367  		pairs = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 62368  	} else {
 62369  		pairs = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 62370  	}
 62371  	internal_match_data = Xpcre2_match_data_create_8(tls, uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount),
 62372  		gcontext1)
 62373  	if !(internal_match_data == uintptr(0)) {
 62374  		goto __10
 62375  	}
 62376  	return -48
 62377  __10:
 62378  	;
 62379  	libc.Xmemcpy(tls, internal_match_data, match_data, uint64(uintptr(0)+80)+
 62380  		uint64(2*pairs)*uint64(unsafe.Sizeof(Tsize_t(0))))
 62381  	match_data = internal_match_data
 62382  __9:
 62383  	;
 62384  __6:
 62385  	;
 62386  
 62387  	// Remember ovector details
 62388  
 62389  	ovector = Xpcre2_get_ovector_pointer_8(tls, match_data)
 62390  	ovector_count = Xpcre2_get_ovector_count_8(tls, match_data)
 62391  
 62392  	// Fixed things in the callout block
 62393  
 62394  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fversion = Tuint32_t(0)
 62395  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Finput = subject
 62396  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foutput = buffer
 62397  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fovector = ovector
 62398  
 62399  	// A NULL subject of zero length is treated as an empty string.
 62400  
 62401  	if !(subject == uintptr(0)) {
 62402  		goto __11
 62403  	}
 62404  
 62405  	if !(length != uint64(0)) {
 62406  		goto __12
 62407  	}
 62408  	return -51
 62409  __12:
 62410  	;
 62411  	subject = ts + 797 /* "" */
 62412  __11:
 62413  	;
 62414  
 62415  	// Find length of zero-terminated subject
 62416  
 62417  	if !(length == libc.CplUint64(uint64(0))) {
 62418  		goto __13
 62419  	}
 62420  	if subject != 0 {
 62421  		length = X_pcre2_strlen_8(tls, subject)
 62422  	} else {
 62423  		length = uint64(0)
 62424  	}
 62425  __13:
 62426  	;
 62427  
 62428  	// Check UTF replacement string if necessary.
 62429  
 62430  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 62431  		goto __14
 62432  	}
 62433  
 62434  	rc = X_pcre2_valid_utf_8(tls, replacement, rlength, match_data+64)
 62435  	if !(rc != 0) {
 62436  		goto __15
 62437  	}
 62438  
 62439  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0)
 62440  	goto EXIT
 62441  __15:
 62442  	;
 62443  __14:
 62444  	;
 62445  
 62446  	// Save the substitute options and remove them from the match options.
 62447  
 62448  	suboptions = options & (DPCRE2_SUBSTITUTE_EXTENDED | DPCRE2_SUBSTITUTE_GLOBAL | DPCRE2_SUBSTITUTE_LITERAL | DPCRE2_SUBSTITUTE_MATCHED | DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH | DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY | DPCRE2_SUBSTITUTE_UNKNOWN_UNSET | DPCRE2_SUBSTITUTE_UNSET_EMPTY)
 62449  	options = options & libc.CplUint32(DPCRE2_SUBSTITUTE_EXTENDED|DPCRE2_SUBSTITUTE_GLOBAL|DPCRE2_SUBSTITUTE_LITERAL|DPCRE2_SUBSTITUTE_MATCHED|DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH|DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY|DPCRE2_SUBSTITUTE_UNKNOWN_UNSET|DPCRE2_SUBSTITUTE_UNSET_EMPTY)
 62450  
 62451  	// Error if the start match offset is greater than the length of the subject.
 62452  
 62453  	if !(start_offset > length) {
 62454  		goto __16
 62455  	}
 62456  
 62457  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0)
 62458  	rc = -33
 62459  	goto EXIT
 62460  __16:
 62461  	;
 62462  
 62463  	// Copy up to the start offset, unless only the replacement is required.
 62464  
 62465  	if !!(replacement_only != 0) {
 62466  		goto __17
 62467  	}
 62468  	if !(!(overflowed != 0) && lengthleft < start_offset) {
 62469  		goto __18
 62470  	}
 62471  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62472  		goto __20
 62473  	}
 62474  	goto NOROOM
 62475  __20:
 62476  	;
 62477  	overflowed = DTRUE
 62478  	extra_needed = start_offset - lengthleft
 62479  	goto __19
 62480  __18:
 62481  	if !(overflowed != 0) {
 62482  		goto __21
 62483  	}
 62484  	extra_needed = extra_needed + start_offset
 62485  	goto __22
 62486  __21:
 62487  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject, start_offset*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62488  	buff_offset = buff_offset + start_offset
 62489  	lengthleft = lengthleft - start_offset
 62490  __22:
 62491  	;
 62492  __19:
 62493  	;
 62494  __17:
 62495  	;
 62496  
 62497  	// Loop for global substituting. If PCRE2_SUBSTITUTE_MATCHED is set, the first
 62498  	// match is taken from the match_data that was passed in.
 62499  
 62500  	subs = 0
 62501  __23:
 62502  	ptrstackptr = Tuint32_t(0)
 62503  
 62504  	if !(use_existing_match != 0) {
 62505  		goto __26
 62506  	}
 62507  
 62508  	rc = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 62509  	use_existing_match = DFALSE
 62510  	goto __27
 62511  __26:
 62512  	rc = Xpcre2_match_8(tls, code, subject, length, start_offset, options|goptions,
 62513  		match_data, mcontext)
 62514  __27:
 62515  	;
 62516  
 62517  	if !(utf != 0) {
 62518  		goto __28
 62519  	}
 62520  	options = options | DPCRE2_NO_UTF_CHECK
 62521  __28:
 62522  	; // Only need to check once
 62523  
 62524  	// Any error other than no match returns the error code. No match when not
 62525  	//   doing the special after-empty-match global rematch, or when at the end of the
 62526  	//   subject, breaks the global loop. Otherwise, advance the starting point by one
 62527  	//   character, copying it to the output, and try again.
 62528  
 62529  	if !(rc < 0) {
 62530  		goto __29
 62531  	}
 62532  
 62533  	if !(rc != -1) {
 62534  		goto __30
 62535  	}
 62536  	goto EXIT
 62537  __30:
 62538  	;
 62539  	if !(goptions == Tuint32_t(0) || start_offset >= length) {
 62540  		goto __31
 62541  	}
 62542  	goto __25
 62543  __31:
 62544  	;
 62545  
 62546  	// Advance by one code point. Then, if CRLF is a valid newline sequence and
 62547  	//     we have advanced into the middle of it, advance one more code point. In
 62548  	//     other words, do not start in the middle of CRLF, even if CR and LF on their
 62549  	//     own are valid newlines.
 62550  
 62551  	save_start = libc.PostIncUint64(&start_offset, 1)
 62552  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset-uint64(1))))) == '\015' && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_CR && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_LF && start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset)))) == '\012') {
 62553  		goto __32
 62554  	}
 62555  	start_offset++
 62556  	goto __33
 62557  __32:
 62558  	if !((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) {
 62559  		goto __34
 62560  	}
 62561  
 62562  __35:
 62563  	if !(start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset))))&0xc0 == 0x80) {
 62564  		goto __36
 62565  	}
 62566  	start_offset++
 62567  	goto __35
 62568  __36:
 62569  	;
 62570  __34:
 62571  	;
 62572  __33:
 62573  	;
 62574  
 62575  	// Copy what we have advanced past (unless not required), reset the special
 62576  	//     global options, and continue to the next match.
 62577  
 62578  	fraglength = start_offset - save_start
 62579  	if !!(replacement_only != 0) {
 62580  		goto __37
 62581  	}
 62582  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62583  		goto __38
 62584  	}
 62585  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62586  		goto __40
 62587  	}
 62588  	goto NOROOM
 62589  __40:
 62590  	;
 62591  	overflowed = DTRUE
 62592  	extra_needed = fraglength - lengthleft
 62593  	goto __39
 62594  __38:
 62595  	if !(overflowed != 0) {
 62596  		goto __41
 62597  	}
 62598  	extra_needed = extra_needed + fraglength
 62599  	goto __42
 62600  __41:
 62601  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(save_start), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62602  	buff_offset = buff_offset + fraglength
 62603  	lengthleft = lengthleft - fraglength
 62604  __42:
 62605  	;
 62606  __39:
 62607  	;
 62608  __37:
 62609  	;
 62610  
 62611  	goptions = Tuint32_t(0)
 62612  	goto __24
 62613  __29:
 62614  	;
 62615  
 62616  	// Handle a successful match. Matches that use \K to end before they start
 62617  	//   or start before the current point in the subject are not supported.
 62618  
 62619  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) < *(*Tsize_t)(unsafe.Pointer(ovector)) || *(*Tsize_t)(unsafe.Pointer(ovector)) < start_offset) {
 62620  		goto __43
 62621  	}
 62622  
 62623  	rc = -60
 62624  	goto EXIT
 62625  __43:
 62626  	;
 62627  
 62628  	// Check for the same match as previous. This is legitimate after matching an
 62629  	//   empty string that starts after the initial match offset. We have tried again
 62630  	//   at the match point in case the pattern is one like /(?<=\G.)/ which can never
 62631  	//   match at its starting point, so running the match achieves the bumpalong. If
 62632  	//   we do get the same (null) match at the original match point, it isn't such a
 62633  	//   pattern, so we now do the empty string magic. In all other cases, a repeat
 62634  	//   match should never occur.
 62635  
 62636  	if !(*(*Tsize_t)(unsafe.Pointer(bp)) == *(*Tsize_t)(unsafe.Pointer(ovector)) && *(*Tsize_t)(unsafe.Pointer(bp + 1*8)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))) {
 62637  		goto __44
 62638  	}
 62639  
 62640  	if !(*(*Tsize_t)(unsafe.Pointer(ovector)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) && *(*Tsize_t)(unsafe.Pointer(bp + 2*8)) != start_offset) {
 62641  		goto __45
 62642  	}
 62643  
 62644  	goptions = DPCRE2_NOTEMPTY_ATSTART | DPCRE2_ANCHORED
 62645  	*(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset
 62646  	goto __24 // Back to the top of the loop
 62647  __45:
 62648  	;
 62649  	rc = -65
 62650  	goto EXIT
 62651  __44:
 62652  	;
 62653  
 62654  	// Count substitutions with a paranoid check for integer overflow; surely no
 62655  	//   real call to this function would ever hit this!
 62656  
 62657  	if !(subs == 0x7fffffff) {
 62658  		goto __46
 62659  	}
 62660  
 62661  	rc = -61
 62662  	goto EXIT
 62663  __46:
 62664  	;
 62665  	subs++
 62666  
 62667  	// Copy the text leading up to the match (unless not required), and remember
 62668  	//   where the insert begins and how many ovector pairs are set.
 62669  
 62670  	if !(rc == 0) {
 62671  		goto __47
 62672  	}
 62673  	rc = int32(ovector_count)
 62674  __47:
 62675  	;
 62676  	fraglength = *(*Tsize_t)(unsafe.Pointer(ovector)) - start_offset
 62677  	if !!(replacement_only != 0) {
 62678  		goto __48
 62679  	}
 62680  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62681  		goto __49
 62682  	}
 62683  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62684  		goto __51
 62685  	}
 62686  	goto NOROOM
 62687  __51:
 62688  	;
 62689  	overflowed = DTRUE
 62690  	extra_needed = fraglength - lengthleft
 62691  	goto __50
 62692  __49:
 62693  	if !(overflowed != 0) {
 62694  		goto __52
 62695  	}
 62696  	extra_needed = extra_needed + fraglength
 62697  	goto __53
 62698  __52:
 62699  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62700  	buff_offset = buff_offset + fraglength
 62701  	lengthleft = lengthleft - fraglength
 62702  __53:
 62703  	;
 62704  __50:
 62705  	;
 62706  __48:
 62707  	;
 62708  
 62709  	*(*Tsize_t)(unsafe.Pointer(bp + 24 + 24)) = buff_offset
 62710  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foveccount = Tuint32_t(rc)
 62711  
 62712  	// Process the replacement string. If the entire replacement is literal, just
 62713  	//   copy it with length check.
 62714  
 62715  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = replacement
 62716  	if !(suboptions&DPCRE2_SUBSTITUTE_LITERAL != Tuint32_t(0)) {
 62717  		goto __54
 62718  	}
 62719  
 62720  	if !(!(overflowed != 0) && lengthleft < rlength) {
 62721  		goto __56
 62722  	}
 62723  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62724  		goto __58
 62725  	}
 62726  	goto NOROOM
 62727  __58:
 62728  	;
 62729  	overflowed = DTRUE
 62730  	extra_needed = rlength - lengthleft
 62731  	goto __57
 62732  __56:
 62733  	if !(overflowed != 0) {
 62734  		goto __59
 62735  	}
 62736  	extra_needed = extra_needed + rlength
 62737  	goto __60
 62738  __59:
 62739  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), rlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62740  	buff_offset = buff_offset + rlength
 62741  	lengthleft = lengthleft - rlength
 62742  __60:
 62743  	;
 62744  __57:
 62745  	;
 62746  
 62747  	goto __55
 62748  __54:
 62749  __61:
 62750  
 62751  	// If at the end of a nested substring, pop the stack.
 62752  
 62753  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend) {
 62754  		goto __64
 62755  	}
 62756  
 62757  	if !(ptrstackptr == Tuint32_t(0)) {
 62758  		goto __65
 62759  	}
 62760  	goto __63
 62761  __65:
 62762  	; // End of replacement string
 62763  	repend = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8))
 62764  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8))
 62765  	goto __62
 62766  __64:
 62767  	;
 62768  
 62769  	// Handle the next character
 62770  
 62771  	if !(escaped_literal != 0) {
 62772  		goto __66
 62773  	}
 62774  
 62775  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1))) == '\105') {
 62776  		goto __67
 62777  	}
 62778  
 62779  	escaped_literal = DFALSE
 62780  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 62781  	goto __62
 62782  __67:
 62783  	;
 62784  	goto LOADLITERAL
 62785  __66:
 62786  	;
 62787  
 62788  	// Not in literal mode.
 62789  
 62790  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\044') {
 62791  		goto __68
 62792  	}
 62793  	special = Tuint32_t(0)
 62794  	text1_start = uintptr(0)
 62795  	text1_end = uintptr(0)
 62796  	text2_start = uintptr(0)
 62797  	text2_end = uintptr(0)
 62798  
 62799  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62800  		goto __70
 62801  	}
 62802  	goto BAD
 62803  __70:
 62804  	;
 62805  	if !(int32(libc.AssignUint8(&next, *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))) == '\044') {
 62806  		goto __71
 62807  	}
 62808  	goto LOADLITERAL
 62809  __71:
 62810  	;
 62811  
 62812  	group = -1
 62813  	n = 0
 62814  	inparens = DFALSE
 62815  	star = DFALSE
 62816  
 62817  	if !(int32(next) == '\173') {
 62818  		goto __72
 62819  	}
 62820  
 62821  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62822  		goto __73
 62823  	}
 62824  	goto BAD
 62825  __73:
 62826  	;
 62827  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62828  	inparens = DTRUE
 62829  __72:
 62830  	;
 62831  
 62832  	if !(int32(next) == '\052') {
 62833  		goto __74
 62834  	}
 62835  
 62836  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62837  		goto __75
 62838  	}
 62839  	goto BAD
 62840  __75:
 62841  	;
 62842  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62843  	star = DTRUE
 62844  __74:
 62845  	;
 62846  
 62847  	if !(!(star != 0) && int32(next) >= '\060' && int32(next) <= '\071') {
 62848  		goto __76
 62849  	}
 62850  
 62851  	group = int32(next) - '\060'
 62852  __78:
 62853  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend) {
 62854  		goto __79
 62855  	}
 62856  
 62857  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62858  	if !(int32(next) < '\060' || int32(next) > '\071') {
 62859  		goto __80
 62860  	}
 62861  	goto __79
 62862  __80:
 62863  	;
 62864  	group = group*10 + int32(next) - '\060'
 62865  
 62866  	// A check for a number greater than the hightest captured group
 62867  	//           is sufficient here; no need for a separate overflow check. If unknown
 62868  	//           groups are to be treated as unset, just skip over any remaining
 62869  	//           digits and carry on.
 62870  
 62871  	if !(group > int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)) {
 62872  		goto __81
 62873  	}
 62874  
 62875  	if !(suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 62876  		goto __82
 62877  	}
 62878  
 62879  __84:
 62880  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) <= '\071') {
 62881  		goto __85
 62882  	}
 62883  	goto __84
 62884  __85:
 62885  	;
 62886  	goto __79
 62887  	goto __83
 62888  __82:
 62889  
 62890  	rc = -49
 62891  	goto PTREXIT
 62892  __83:
 62893  	;
 62894  __81:
 62895  	;
 62896  	goto __78
 62897  __79:
 62898  	;
 62899  	goto __77
 62900  __76:
 62901  
 62902  	ctypes = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 62903  __86:
 62904  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(next))))&Dctype_word != 0) {
 62905  		goto __87
 62906  	}
 62907  
 62908  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(libc.PostIncInt32(&n, 1)))) = next
 62909  	if !(n > 32) {
 62910  		goto __88
 62911  	}
 62912  	goto BAD
 62913  __88:
 62914  	;
 62915  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62916  		goto __89
 62917  	}
 62918  	goto __87
 62919  __89:
 62920  	;
 62921  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62922  	goto __86
 62923  __87:
 62924  	;
 62925  	if !(n == 0) {
 62926  		goto __90
 62927  	}
 62928  	goto BAD
 62929  __90:
 62930  	;
 62931  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(n))) = TPCRE2_UCHAR8(0)
 62932  __77:
 62933  	;
 62934  
 62935  	// In extended mode we recognize ${name:+set text:unset text} and
 62936  	//       ${name:-default text}.
 62937  
 62938  	if !(inparens != 0) {
 62939  		goto __91
 62940  	}
 62941  
 62942  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && !(star != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(2) && int32(next) == '\072') {
 62943  		goto __92
 62944  	}
 62945  
 62946  	special = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1))))
 62947  	if !(special != Tuint32_t('\053') && special != Tuint32_t('\055')) {
 62948  		goto __94
 62949  	}
 62950  
 62951  	rc = -59
 62952  	goto PTREXIT
 62953  __94:
 62954  	;
 62955  
 62956  	text1_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1)
 62957  	rc = find_text_end(tls, code, bp+280, repend, libc.Bool32(special == Tuint32_t('\055')))
 62958  	if !(rc != 0) {
 62959  		goto __95
 62960  	}
 62961  	goto PTREXIT
 62962  __95:
 62963  	;
 62964  	text1_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 62965  
 62966  	if !(special == Tuint32_t('\053') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\072') {
 62967  		goto __96
 62968  	}
 62969  
 62970  	text2_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1)
 62971  	rc = find_text_end(tls, code, bp+280, repend, DTRUE)
 62972  	if !(rc != 0) {
 62973  		goto __97
 62974  	}
 62975  	goto PTREXIT
 62976  __97:
 62977  	;
 62978  	text2_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 62979  __96:
 62980  	;
 62981  	goto __93
 62982  __92:
 62983  
 62984  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) != '\175') {
 62985  		goto __98
 62986  	}
 62987  
 62988  	rc = -58
 62989  	goto PTREXIT
 62990  __98:
 62991  	;
 62992  __93:
 62993  	;
 62994  
 62995  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++
 62996  __91:
 62997  	;
 62998  
 62999  	// Have found a syntactically correct group number or name, or *name.
 63000  	//       Only *MARK is currently recognized.
 63001  
 63002  	if !(star != 0) {
 63003  		goto __99
 63004  	}
 63005  
 63006  	if !(X_pcre2_strcmp_c8_8(tls, bp+240, ts+7678) == 0) {
 63007  		goto __101
 63008  	}
 63009  
 63010  	mark = Xpcre2_get_mark_8(tls, match_data)
 63011  	if !(mark != uintptr(0)) {
 63012  		goto __103
 63013  	}
 63014  
 63015  	mark_start = mark
 63016  __104:
 63017  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mark))) != 0) {
 63018  		goto __105
 63019  	}
 63020  	mark++
 63021  	goto __104
 63022  __105:
 63023  	;
 63024  	fraglength = Tsize_t((int64(mark) - int64(mark_start)) / 1)
 63025  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63026  		goto __106
 63027  	}
 63028  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63029  		goto __108
 63030  	}
 63031  	goto NOROOM
 63032  __108:
 63033  	;
 63034  	overflowed = DTRUE
 63035  	extra_needed = fraglength - lengthleft
 63036  	goto __107
 63037  __106:
 63038  	if !(overflowed != 0) {
 63039  		goto __109
 63040  	}
 63041  	extra_needed = extra_needed + fraglength
 63042  	goto __110
 63043  __109:
 63044  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), mark_start, fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63045  	buff_offset = buff_offset + fraglength
 63046  	lengthleft = lengthleft - fraglength
 63047  __110:
 63048  	;
 63049  __107:
 63050  	;
 63051  
 63052  __103:
 63053  	;
 63054  	goto __102
 63055  __101:
 63056  	goto BAD
 63057  __102:
 63058  	;
 63059  	goto __100
 63060  __99:
 63061  
 63062  	// Find a number for a named group. In case there are duplicate names,
 63063  	//         search for the first one that is set. If the name is not found when
 63064  	//         PCRE2_SUBSTITUTE_UNKNOWN_EMPTY is set, set the group number to a
 63065  	//         non-existent group.
 63066  
 63067  	if !(group < 0) {
 63068  		goto __111
 63069  	}
 63070  
 63071  	rc = Xpcre2_substring_nametable_scan_8(tls, code, bp+240, bp+288, bp+296)
 63072  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63073  		goto __112
 63074  	}
 63075  
 63076  	group = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 63077  	goto __113
 63078  __112:
 63079  
 63080  	if !(rc < 0) {
 63081  		goto __114
 63082  	}
 63083  	goto PTREXIT
 63084  __114:
 63085  	;
 63086  	entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288 /* first */))
 63087  __115:
 63088  	if !(entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 296))) {
 63089  		goto __117
 63090  	}
 63091  
 63092  	ng = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63093  	if !(ng < ovector_count) {
 63094  		goto __118
 63095  	}
 63096  
 63097  	if !(group < 0) {
 63098  		goto __119
 63099  	}
 63100  	group = int32(ng)
 63101  __119:
 63102  	; // First in ovector
 63103  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(ng*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0))) {
 63104  		goto __120
 63105  	}
 63106  
 63107  	group = int32(ng) // First that is set
 63108  	goto __117
 63109  __120:
 63110  	;
 63111  __118:
 63112  	;
 63113  	goto __116
 63114  __116:
 63115  	entry += TPCRE2_SPTR8(rc)
 63116  	goto __115
 63117  	goto __117
 63118  __117:
 63119  	;
 63120  
 63121  	// If group is still negative, it means we did not find a group
 63122  	//             that is in the ovector. Just set the first group.
 63123  
 63124  	if !(group < 0) {
 63125  		goto __121
 63126  	}
 63127  	group = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)) + 1)))))
 63128  __121:
 63129  	;
 63130  __113:
 63131  	;
 63132  __111:
 63133  	;
 63134  
 63135  	// We now have a group that is identified by number. Find the length of
 63136  	//         the captured string. If a group in a non-special substitution is unset
 63137  	//         when PCRE2_SUBSTITUTE_UNSET_EMPTY is set, substitute nothing.
 63138  
 63139  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, uint32(group), bp+304)
 63140  	if !(rc < 0) {
 63141  		goto __122
 63142  	}
 63143  
 63144  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63145  		goto __123
 63146  	}
 63147  
 63148  	rc = -55
 63149  __123:
 63150  	;
 63151  	if !(rc != -55) {
 63152  		goto __124
 63153  	}
 63154  	goto PTREXIT
 63155  __124:
 63156  	; // Non-unset errors
 63157  	if !(special == Tuint32_t(0)) {
 63158  		goto __125
 63159  	} /* Plain substitution */
 63160  
 63161  	if !(suboptions&DPCRE2_SUBSTITUTE_UNSET_EMPTY != Tuint32_t(0)) {
 63162  		goto __126
 63163  	}
 63164  	goto __62
 63165  __126:
 63166  	;
 63167  	goto PTREXIT // Else error
 63168  __125:
 63169  	;
 63170  __122:
 63171  	;
 63172  
 63173  	// If special is '+' we have a 'set' and possibly an 'unset' text,
 63174  	//         both of which are reprocessed when used. If special is '-' we have a
 63175  	//         default text for when the group is unset; it must be reprocessed.
 63176  
 63177  	if !(special != Tuint32_t(0)) {
 63178  		goto __127
 63179  	}
 63180  
 63181  	if !(special == Tuint32_t('\055')) {
 63182  		goto __128
 63183  	}
 63184  
 63185  	if !(rc == 0) {
 63186  		goto __129
 63187  	}
 63188  	goto LITERAL_SUBSTITUTE
 63189  __129:
 63190  	;
 63191  	text2_start = text1_start
 63192  	text2_end = text1_end
 63193  __128:
 63194  	;
 63195  
 63196  	if !(ptrstackptr >= Tuint32_t(DPTR_STACK_SIZE)) {
 63197  		goto __130
 63198  	}
 63199  	goto BAD
 63200  __130:
 63201  	;
 63202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 63203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = repend
 63204  
 63205  	if !(rc == 0) {
 63206  		goto __131
 63207  	}
 63208  
 63209  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text1_start
 63210  	repend = text1_end
 63211  	goto __132
 63212  __131:
 63213  
 63214  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text2_start
 63215  	repend = text2_end
 63216  __132:
 63217  	;
 63218  	goto __62
 63219  __127:
 63220  	;
 63221  
 63222  	// Otherwise we have a literal substitution of a group's contents.
 63223  
 63224  LITERAL_SUBSTITUTE:
 63225  	subptr = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2)*8)))
 63226  	subptrend = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2+1)*8)))
 63227  
 63228  	// Substitute a literal string, possibly forcing alphabetic case.
 63229  
 63230  __133:
 63231  	if !(subptr < subptrend) {
 63232  		goto __134
 63233  	}
 63234  
 63235  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))
 63236  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) {
 63237  		goto __135
 63238  	}
 63239  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) {
 63240  		goto __136
 63241  	}
 63242  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))&0x3f
 63243  	goto __137
 63244  __136:
 63245  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) {
 63246  		goto __138
 63247  	}
 63248  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f
 63249  	subptr += uintptr(2)
 63250  	goto __139
 63251  __138:
 63252  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) {
 63253  		goto __140
 63254  	}
 63255  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f
 63256  	subptr += uintptr(3)
 63257  	goto __141
 63258  __140:
 63259  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) {
 63260  		goto __142
 63261  	}
 63262  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f
 63263  	subptr += uintptr(4)
 63264  	goto __143
 63265  __142:
 63266  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 4)))&0x3f
 63267  	subptr += uintptr(5)
 63268  __143:
 63269  	;
 63270  __141:
 63271  	;
 63272  __139:
 63273  	;
 63274  __137:
 63275  	;
 63276  __135:
 63277  	;
 63278  
 63279  	if !(forcecase != 0) {
 63280  		goto __144
 63281  	}
 63282  
 63283  	if !(utf != 0 || ucp != 0) {
 63284  		goto __145
 63285  	}
 63286  
 63287  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63288  	if !(X_pcre2_ucp_gentype_8[type1] == ucp_L && type1 != func() uint32 {
 63289  		if forcecase > 0 {
 63290  			return ucp_Lu
 63291  		}
 63292  		return ucp_Ll
 63293  	}()) {
 63294  		goto __147
 63295  	}
 63296  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63297  __147:
 63298  	;
 63299  	goto __146
 63300  __145:
 63301  
 63302  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63303  		if forcecase > 0 {
 63304  			return Dcbit_upper
 63305  		}
 63306  		return Dcbit_lower
 63307  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) {
 63308  		goto __148
 63309  	}
 63310  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))))))
 63311  __148:
 63312  	;
 63313  __146:
 63314  	;
 63315  	forcecase = forcecasereset
 63316  __144:
 63317  	;
 63318  
 63319  	if !(utf != 0) {
 63320  		goto __149
 63321  	}
 63322  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312)
 63323  	goto __150
 63324  __149:
 63325  
 63326  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))
 63327  	chlen = uint32(1)
 63328  __150:
 63329  	;
 63330  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63331  		goto __151
 63332  	}
 63333  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63334  		goto __153
 63335  	}
 63336  	goto NOROOM
 63337  __153:
 63338  	;
 63339  	overflowed = DTRUE
 63340  	extra_needed = Tsize_t(chlen) - lengthleft
 63341  	goto __152
 63342  __151:
 63343  	if !(overflowed != 0) {
 63344  		goto __154
 63345  	}
 63346  	extra_needed = extra_needed + Tsize_t(chlen)
 63347  	goto __155
 63348  __154:
 63349  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63350  	buff_offset = buff_offset + Tsize_t(chlen)
 63351  	lengthleft = lengthleft - Tsize_t(chlen)
 63352  __155:
 63353  	;
 63354  __152:
 63355  	;
 63356  
 63357  	goto __133
 63358  __134:
 63359  	;
 63360  __100:
 63361  	;
 63362  	goto __69
 63363  __68:
 63364  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134') {
 63365  		goto __156
 63366  	}
 63367  
 63368  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1)) {
 63369  		goto __158
 63370  	}
 63371  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) + 1))) {
 63372  	case '\114':
 63373  		goto __160
 63374  
 63375  	case '\154':
 63376  		goto __161
 63377  
 63378  	case '\125':
 63379  		goto __162
 63380  
 63381  	case '\165':
 63382  		goto __163
 63383  
 63384  	default:
 63385  		goto __164
 63386  	}
 63387  	goto __159
 63388  
 63389  __160:
 63390  	forcecase = libc.AssignInt32(&forcecasereset, -1)
 63391  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63392  	goto __62
 63393  
 63394  __161:
 63395  	forcecase = -1
 63396  	forcecasereset = 0
 63397  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63398  	goto __62
 63399  
 63400  __162:
 63401  	forcecase = libc.AssignInt32(&forcecasereset, 1)
 63402  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63403  	goto __62
 63404  
 63405  __163:
 63406  	forcecase = 1
 63407  	forcecasereset = 0
 63408  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63409  	goto __62
 63410  
 63411  __164:
 63412  	goto __159
 63413  __159:
 63414  	;
 63415  __158:
 63416  	;
 63417  
 63418  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++ // Point after \
 63419  	rc = X_pcre2_check_escape_8(tls, bp+280, repend, bp+320, bp+324,
 63420  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 63421  	if !(*(*int32)(unsafe.Pointer(bp + 324)) != 0) {
 63422  		goto __165
 63423  	}
 63424  	goto BADESCAPE
 63425  __165:
 63426  	;
 63427  
 63428  	switch rc {
 63429  	case ESC_E:
 63430  		goto __167
 63431  
 63432  	case ESC_Q:
 63433  		goto __168
 63434  
 63435  	case 0:
 63436  		goto __169
 63437  
 63438  	default:
 63439  		goto __170
 63440  	}
 63441  	goto __166
 63442  
 63443  __167:
 63444  	forcecase = libc.AssignInt32(&forcecasereset, 0)
 63445  	goto __62
 63446  
 63447  __168:
 63448  	escaped_literal = DTRUE
 63449  	goto __62
 63450  
 63451  __169: // Data character
 63452  	goto LITERAL
 63453  
 63454  __170:
 63455  	goto BADESCAPE
 63456  __166:
 63457  	;
 63458  	goto __157
 63459  __156:
 63460  
 63461  LOADLITERAL:
 63462  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1))))
 63463  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) {
 63464  		goto __171
 63465  	}
 63466  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) {
 63467  		goto __172
 63468  	}
 63469  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1))))&0x3f
 63470  	goto __173
 63471  __172:
 63472  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) {
 63473  		goto __174
 63474  	}
 63475  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f
 63476  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63477  	goto __175
 63478  __174:
 63479  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) {
 63480  		goto __176
 63481  	}
 63482  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f
 63483  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(3)
 63484  	goto __177
 63485  __176:
 63486  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) {
 63487  		goto __178
 63488  	}
 63489  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f
 63490  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(4)
 63491  	goto __179
 63492  __178:
 63493  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 4)))&0x3f
 63494  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(5)
 63495  __179:
 63496  	;
 63497  __177:
 63498  	;
 63499  __175:
 63500  	;
 63501  __173:
 63502  	;
 63503  __171:
 63504  	;
 63505  
 63506  	// Get character value, increment pointer
 63507  
 63508  LITERAL:
 63509  	if !(forcecase != 0) {
 63510  		goto __180
 63511  	}
 63512  
 63513  	if !(utf != 0 || ucp != 0) {
 63514  		goto __181
 63515  	}
 63516  
 63517  	type2 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63518  	if !(X_pcre2_ucp_gentype_8[type2] == ucp_L && type2 != func() uint32 {
 63519  		if forcecase > 0 {
 63520  			return ucp_Lu
 63521  		}
 63522  		return ucp_Ll
 63523  	}()) {
 63524  		goto __183
 63525  	}
 63526  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63527  __183:
 63528  	;
 63529  	goto __182
 63530  __181:
 63531  
 63532  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63533  		if forcecase > 0 {
 63534  			return Dcbit_upper
 63535  		}
 63536  		return Dcbit_lower
 63537  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) {
 63538  		goto __184
 63539  	}
 63540  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))))))
 63541  __184:
 63542  	;
 63543  __182:
 63544  	;
 63545  	forcecase = forcecasereset
 63546  __180:
 63547  	;
 63548  
 63549  	if !(utf != 0) {
 63550  		goto __185
 63551  	}
 63552  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312)
 63553  	goto __186
 63554  __185:
 63555  
 63556  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))
 63557  	chlen = uint32(1)
 63558  __186:
 63559  	;
 63560  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63561  		goto __187
 63562  	}
 63563  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63564  		goto __189
 63565  	}
 63566  	goto NOROOM
 63567  __189:
 63568  	;
 63569  	overflowed = DTRUE
 63570  	extra_needed = Tsize_t(chlen) - lengthleft
 63571  	goto __188
 63572  __187:
 63573  	if !(overflowed != 0) {
 63574  		goto __190
 63575  	}
 63576  	extra_needed = extra_needed + Tsize_t(chlen)
 63577  	goto __191
 63578  __190:
 63579  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63580  	buff_offset = buff_offset + Tsize_t(chlen)
 63581  	lengthleft = lengthleft - Tsize_t(chlen)
 63582  __191:
 63583  	;
 63584  __188:
 63585  	;
 63586  
 63587  __157:
 63588  	;
 63589  __69:
 63590  	; // End handling a literal code unit
 63591  	goto __62
 63592  __62:
 63593  	goto __61
 63594  	goto __63
 63595  __63:
 63596  	;
 63597  __55:
 63598  	; // End of loop for scanning the replacement.
 63599  
 63600  	// The replacement has been copied to the output, or its size has been
 63601  	//   remembered. Do the callout if there is one and we have done an actual
 63602  	//   replacement.
 63603  
 63604  	if !(!(overflowed != 0) && mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout != uintptr(0)) {
 63605  		goto __192
 63606  	}
 63607  
 63608  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fsubscount = Tuint32_t(subs)
 63609  	*(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) = buff_offset
 63610  	rc = (*struct {
 63611  		f func(*libc.TLS, uintptr, uintptr) int32
 63612  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout})).f(tls, bp+24 /* &scb */, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data)
 63613  
 63614  	// A non-zero return means cancel this substitution. Instead, copy the
 63615  	//     matched string fragment.
 63616  
 63617  	if !(rc != 0) {
 63618  		goto __193
 63619  	}
 63620  
 63621  	newlength = *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24))
 63622  	oldlength = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) - *(*Tsize_t)(unsafe.Pointer(ovector))
 63623  
 63624  	buff_offset = buff_offset - newlength
 63625  	lengthleft = lengthleft + newlength
 63626  	if !!(replacement_only != 0) {
 63627  		goto __194
 63628  	}
 63629  	if !(!(overflowed != 0) && lengthleft < oldlength) {
 63630  		goto __195
 63631  	}
 63632  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63633  		goto __197
 63634  	}
 63635  	goto NOROOM
 63636  __197:
 63637  	;
 63638  	overflowed = DTRUE
 63639  	extra_needed = oldlength - lengthleft
 63640  	goto __196
 63641  __195:
 63642  	if !(overflowed != 0) {
 63643  		goto __198
 63644  	}
 63645  	extra_needed = extra_needed + oldlength
 63646  	goto __199
 63647  __198:
 63648  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector))), oldlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63649  	buff_offset = buff_offset + oldlength
 63650  	lengthleft = lengthleft - oldlength
 63651  __199:
 63652  	;
 63653  __196:
 63654  	;
 63655  __194:
 63656  	;
 63657  
 63658  	// A negative return means do not do any more.
 63659  
 63660  	if !(rc < 0) {
 63661  		goto __200
 63662  	}
 63663  	suboptions = suboptions & libc.CplUint32(DPCRE2_SUBSTITUTE_GLOBAL)
 63664  __200:
 63665  	;
 63666  __193:
 63667  	;
 63668  __192:
 63669  	;
 63670  
 63671  	// Save the details of this match. See above for how this data is used. If we
 63672  	//   matched an empty string, do the magic for global matches. Update the start
 63673  	//   offset to point to the rest of the subject string. If we re-used an existing
 63674  	//   match for the first match, switch to the internal match data block.
 63675  
 63676  	*(*Tsize_t)(unsafe.Pointer(bp)) = *(*Tsize_t)(unsafe.Pointer(ovector))
 63677  	*(*Tsize_t)(unsafe.Pointer(bp + 1*8)) = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))
 63678  	*(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset
 63679  
 63680  	if *(*Tsize_t)(unsafe.Pointer(ovector)) != *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) || *(*Tsize_t)(unsafe.Pointer(ovector)) > start_offset {
 63681  		goptions = uint32(0)
 63682  	} else {
 63683  		goptions = DPCRE2_ANCHORED | DPCRE2_NOTEMPTY_ATSTART
 63684  	}
 63685  	start_offset = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))
 63686  	goto __24
 63687  __24:
 63688  	if suboptions&DPCRE2_SUBSTITUTE_GLOBAL != Tuint32_t(0) {
 63689  		goto __23
 63690  	}
 63691  	goto __25
 63692  __25:
 63693  	; // Repeat "do" loop
 63694  
 63695  	// Copy the rest of the subject unless not required, and terminate the output
 63696  	// with a binary zero.
 63697  
 63698  	if !!(replacement_only != 0) {
 63699  		goto __201
 63700  	}
 63701  
 63702  	fraglength = length - start_offset
 63703  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63704  		goto __202
 63705  	}
 63706  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63707  		goto __204
 63708  	}
 63709  	goto NOROOM
 63710  __204:
 63711  	;
 63712  	overflowed = DTRUE
 63713  	extra_needed = fraglength - lengthleft
 63714  	goto __203
 63715  __202:
 63716  	if !(overflowed != 0) {
 63717  		goto __205
 63718  	}
 63719  	extra_needed = extra_needed + fraglength
 63720  	goto __206
 63721  __205:
 63722  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63723  	buff_offset = buff_offset + fraglength
 63724  	lengthleft = lengthleft - fraglength
 63725  __206:
 63726  	;
 63727  __203:
 63728  	;
 63729  
 63730  __201:
 63731  	;
 63732  
 63733  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(0)
 63734  	if !(!(overflowed != 0) && lengthleft < uint64(1)) {
 63735  		goto __207
 63736  	}
 63737  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63738  		goto __209
 63739  	}
 63740  	goto NOROOM
 63741  __209:
 63742  	;
 63743  	overflowed = DTRUE
 63744  	extra_needed = uint64(1) - lengthleft
 63745  	goto __208
 63746  __207:
 63747  	if !(overflowed != 0) {
 63748  		goto __210
 63749  	}
 63750  	extra_needed = extra_needed + uint64(1)
 63751  	goto __211
 63752  __210:
 63753  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 63754  	buff_offset = buff_offset + uint64(1)
 63755  	lengthleft = lengthleft - uint64(1)
 63756  __211:
 63757  	;
 63758  __208:
 63759  	;
 63760  
 63761  	// If overflowed is set it means the PCRE2_SUBSTITUTE_OVERFLOW_LENGTH is set,
 63762  	// and matching has carried on after a full buffer, in order to compute the length
 63763  	// needed. Otherwise, an overflow generates an immediate error return.
 63764  
 63765  	if !(overflowed != 0) {
 63766  		goto __212
 63767  	}
 63768  
 63769  	rc = -48
 63770  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_length + extra_needed
 63771  	goto __213
 63772  __212:
 63773  
 63774  	rc = subs
 63775  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_offset - uint64(1)
 63776  __213:
 63777  	;
 63778  
 63779  EXIT:
 63780  	if !(internal_match_data != uintptr(0)) {
 63781  		goto __214
 63782  	}
 63783  	Xpcre2_match_data_free_8(tls, internal_match_data)
 63784  	goto __215
 63785  __214:
 63786  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 63787  __215:
 63788  	;
 63789  	return rc
 63790  
 63791  NOROOM:
 63792  	rc = -48
 63793  	goto EXIT
 63794  
 63795  BAD:
 63796  	rc = -35
 63797  	goto PTREXIT
 63798  
 63799  BADESCAPE:
 63800  	rc = -57
 63801  
 63802  PTREXIT:
 63803  	*(*Tsize_t)(unsafe.Pointer(blength)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))) - int64(replacement)) / 1)
 63804  	goto EXIT
 63805  	return int32(0)
 63806  }
 63807  
 63808  // End of pcre2_substitute.c
 63809  
 63810  // This function is needed only when memmove() is not available.
 63811  
 63812  // End of pcre2_internal.h
 63813  
 63814  // ************************************************
 63815  //
 63816  //   Copy named captured string to given buffer   *
 63817  //
 63818  
 63819  // This function copies a single captured substring into a given buffer,
 63820  // identifying it by name. If the regex permits duplicate names, the first
 63821  // substring that is set is chosen.
 63822  //
 63823  // Arguments:
 63824  //   match_data     points to the match data
 63825  //   stringname     the name of the required substring
 63826  //   buffer         where to put the substring
 63827  //   sizeptr        the size of the buffer, updated to the size of the substring
 63828  //
 63829  // Returns:         if successful: zero
 63830  //                  if not successful, a negative error code:
 63831  //                    (1) an error from nametable_scan()
 63832  //                    (2) an error from copy_bynumber()
 63833  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63834  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63835  
 63836  func Xpcre2_substring_copy_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:73:1: */
 63837  	bp := tls.Alloc(16)
 63838  	defer tls.Free(16)
 63839  
 63840  	// var first TPCRE2_SPTR8 at bp, 8
 63841  
 63842  	// var last TPCRE2_SPTR8 at bp+8, 8
 63843  
 63844  	var entry TPCRE2_SPTR8
 63845  	var failrc int32
 63846  	var entrysize int32
 63847  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63848  		return -41
 63849  	}
 63850  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63851  		bp, bp+8)
 63852  	if entrysize < 0 {
 63853  		return entrysize
 63854  	}
 63855  	failrc = -54
 63856  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63857  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63858  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63859  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 63860  				return Xpcre2_substring_copy_bynumber_8(tls, match_data, n, buffer, sizeptr)
 63861  			}
 63862  			failrc = -55
 63863  		}
 63864  	}
 63865  	return failrc
 63866  }
 63867  
 63868  // ************************************************
 63869  //
 63870  //  Copy numbered captured string to given buffer *
 63871  //
 63872  
 63873  // This function copies a single captured substring into a given buffer,
 63874  // identifying it by number.
 63875  //
 63876  // Arguments:
 63877  //   match_data     points to the match data
 63878  //   stringnumber   the number of the required substring
 63879  //   buffer         where to put the substring
 63880  //   sizeptr        the size of the buffer, updated to the size of the substring
 63881  //
 63882  // Returns:         if successful: 0
 63883  //                  if not successful, a negative error code:
 63884  //                    PCRE2_ERROR_NOMEMORY: buffer too small
 63885  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63886  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63887  //                    PCRE2_ERROR_UNSET: substring is not set
 63888  
 63889  func Xpcre2_substring_copy_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:121:1: */
 63890  	bp := tls.Alloc(8)
 63891  	defer tls.Free(8)
 63892  
 63893  	var rc int32
 63894  	// var size Tsize_t at bp, 8
 63895  
 63896  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63897  	if rc < 0 {
 63898  		return rc
 63899  	}
 63900  	if *(*Tsize_t)(unsafe.Pointer(bp))+uint64(1) > *(*Tsize_t)(unsafe.Pointer(sizeptr)) {
 63901  		return -48
 63902  	}
 63903  	libc.Xmemcpy(tls, buffer, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))),
 63904  		*(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63905  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 63906  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 63907  	return 0
 63908  }
 63909  
 63910  // ************************************************
 63911  //
 63912  //          Extract named captured string         *
 63913  //
 63914  
 63915  // This function copies a single captured substring, identified by name, into
 63916  // new memory. If the regex permits duplicate names, the first substring that is
 63917  // set is chosen.
 63918  //
 63919  // Arguments:
 63920  //   match_data     pointer to match_data
 63921  //   stringname     the name of the required substring
 63922  //   stringptr      where to put the pointer to the new memory
 63923  //   sizeptr        where to put the length of the substring
 63924  //
 63925  // Returns:         if successful: zero
 63926  //                  if not successful, a negative value:
 63927  //                    (1) an error from nametable_scan()
 63928  //                    (2) an error from get_bynumber()
 63929  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63930  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63931  
 63932  func Xpcre2_substring_get_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:161:1: */
 63933  	bp := tls.Alloc(16)
 63934  	defer tls.Free(16)
 63935  
 63936  	// var first TPCRE2_SPTR8 at bp, 8
 63937  
 63938  	// var last TPCRE2_SPTR8 at bp+8, 8
 63939  
 63940  	var entry TPCRE2_SPTR8
 63941  	var failrc int32
 63942  	var entrysize int32
 63943  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63944  		return -41
 63945  	}
 63946  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63947  		bp, bp+8)
 63948  	if entrysize < 0 {
 63949  		return entrysize
 63950  	}
 63951  	failrc = -54
 63952  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63953  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63954  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63955  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 63956  				return Xpcre2_substring_get_bynumber_8(tls, match_data, n, stringptr, sizeptr)
 63957  			}
 63958  			failrc = -55
 63959  		}
 63960  	}
 63961  	return failrc
 63962  }
 63963  
 63964  // ************************************************
 63965  //
 63966  //      Extract captured string to new memory     *
 63967  //
 63968  
 63969  // This function copies a single captured substring into a piece of new
 63970  // memory.
 63971  //
 63972  // Arguments:
 63973  //   match_data     points to match data
 63974  //   stringnumber   the number of the required substring
 63975  //   stringptr      where to put a pointer to the new memory
 63976  //   sizeptr        where to put the size of the substring
 63977  //
 63978  // Returns:         if successful: 0
 63979  //                  if not successful, a negative error code:
 63980  //                    PCRE2_ERROR_NOMEMORY: failed to get memory
 63981  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63982  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63983  //                    PCRE2_ERROR_UNSET: substring is not set
 63984  
 63985  func Xpcre2_substring_get_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:209:1: */
 63986  	bp := tls.Alloc(8)
 63987  	defer tls.Free(8)
 63988  
 63989  	var rc int32
 63990  	// var size Tsize_t at bp, 8
 63991  
 63992  	var yield uintptr
 63993  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63994  	if rc < 0 {
 63995  		return rc
 63996  	}
 63997  	yield = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bp))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), match_data)
 63998  	if yield == uintptr(0) {
 63999  		return -48
 64000  	}
 64001  	yield = yield + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64002  	libc.Xmemcpy(tls, yield, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))),
 64003  		*(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 64004  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(yield + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 64005  	*(*uintptr)(unsafe.Pointer(stringptr)) = yield
 64006  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 64007  	return 0
 64008  }
 64009  
 64010  // ************************************************
 64011  //
 64012  //       Free memory obtained by get_substring    *
 64013  //
 64014  
 64015  //
 64016  // Argument:     the result of a previous pcre2_substring_get_byxxx()
 64017  // Returns:      nothing
 64018  
 64019  func Xpcre2_substring_free_8(tls *libc.TLS, string uintptr) { /* pcre2_substring.c:241:1: */
 64020  	if string != uintptr(0) {
 64021  		var memctl uintptr = string - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64022  		(*struct {
 64023  			f func(*libc.TLS, uintptr, uintptr)
 64024  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64025  	}
 64026  }
 64027  
 64028  // ************************************************
 64029  //
 64030  //         Get length of a named substring        *
 64031  //
 64032  
 64033  // This function returns the length of a named captured substring. If the regex
 64034  // permits duplicate names, the first substring that is set is chosen.
 64035  //
 64036  // Arguments:
 64037  //   match_data      pointer to match data
 64038  //   stringname      the name of the required substring
 64039  //   sizeptr         where to put the length
 64040  //
 64041  // Returns:          0 if successful, else a negative error number
 64042  
 64043  func Xpcre2_substring_length_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, sizeptr uintptr) int32 { /* pcre2_substring.c:268:1: */
 64044  	bp := tls.Alloc(16)
 64045  	defer tls.Free(16)
 64046  
 64047  	// var first TPCRE2_SPTR8 at bp, 8
 64048  
 64049  	// var last TPCRE2_SPTR8 at bp+8, 8
 64050  
 64051  	var entry TPCRE2_SPTR8
 64052  	var failrc int32
 64053  	var entrysize int32
 64054  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64055  		return -41
 64056  	}
 64057  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 64058  		bp, bp+8)
 64059  	if entrysize < 0 {
 64060  		return entrysize
 64061  	}
 64062  	failrc = -54
 64063  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 64064  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 64065  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64066  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 64067  				return Xpcre2_substring_length_bynumber_8(tls, match_data, n, sizeptr)
 64068  			}
 64069  			failrc = -55
 64070  		}
 64071  	}
 64072  	return failrc
 64073  }
 64074  
 64075  // ************************************************
 64076  //
 64077  //        Get length of a numbered substring      *
 64078  //
 64079  
 64080  // This function returns the length of a captured substring. If the start is
 64081  // beyond the end (which can happen when \K is used in an assertion), it sets the
 64082  // length to zero.
 64083  //
 64084  // Arguments:
 64085  //   match_data      pointer to match data
 64086  //   stringnumber    the number of the required substring
 64087  //   sizeptr         where to put the length, if not NULL
 64088  //
 64089  // Returns:         if successful: 0
 64090  //                  if not successful, a negative error code:
 64091  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 64092  //                    PCRE2_ERROR_UNAVAILABLE: ovector is too small
 64093  //                    PCRE2_ERROR_UNSET: substring is not set
 64094  
 64095  func Xpcre2_substring_length_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, sizeptr uintptr) int32 { /* pcre2_substring.c:315:1: */
 64096  	var left Tsize_t
 64097  	var right Tsize_t
 64098  	var count int32 = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 64099  	if count == -2 {
 64100  		if stringnumber > Tuint32_t(0) {
 64101  			return -2
 64102  		}
 64103  		count = 0
 64104  	} else if count < 0 {
 64105  		return count
 64106  	} // Match failed
 64107  
 64108  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) != PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64109  		if stringnumber > Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode)).Ftop_bracket) {
 64110  			return -49
 64111  		}
 64112  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64113  			return -54
 64114  		}
 64115  		if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8)) == libc.CplUint64(uint64(0)) {
 64116  			return -55
 64117  		}
 64118  	} else {
 64119  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64120  			return -54
 64121  		}
 64122  		if count != 0 && stringnumber >= Tuint32_t(count) {
 64123  			return -55
 64124  		}
 64125  	}
 64126  
 64127  	left = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))
 64128  	right = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2)+Tuint32_t(1))*8))
 64129  	if sizeptr != uintptr(0) {
 64130  		*(*Tsize_t)(unsafe.Pointer(sizeptr)) = func() uint64 {
 64131  			if left > right {
 64132  				return uint64(0)
 64133  			}
 64134  			return right - left
 64135  		}()
 64136  	}
 64137  	return 0
 64138  }
 64139  
 64140  // ************************************************
 64141  //
 64142  //    Extract all captured strings to new memory  *
 64143  //
 64144  
 64145  // This function gets one chunk of memory and builds a list of pointers and all
 64146  // the captured substrings in it. A NULL pointer is put on the end of the list.
 64147  // The substrings are zero-terminated, but also, if the final argument is
 64148  // non-NULL, a list of lengths is also returned. This allows binary data to be
 64149  // handled.
 64150  //
 64151  // Arguments:
 64152  //   match_data     points to the match data
 64153  //   listptr        set to point to the list of pointers
 64154  //   lengthsptr     set to point to the list of lengths (may be NULL)
 64155  //
 64156  // Returns:         if successful: 0
 64157  //                  if not successful, a negative error code:
 64158  //                    PCRE2_ERROR_NOMEMORY: failed to get memory,
 64159  //                    or a match failure code
 64160  
 64161  func Xpcre2_substring_list_get_8(tls *libc.TLS, match_data uintptr, listptr uintptr, lengthsptr uintptr) int32 { /* pcre2_substring.c:372:1: */
 64162  	var i int32
 64163  	var count int32
 64164  	var count2 int32
 64165  	var size Tsize_t
 64166  	var lensp uintptr
 64167  	var memp uintptr
 64168  	var listp uintptr
 64169  	var sp uintptr
 64170  	var ovector uintptr
 64171  
 64172  	if libc.AssignInt32(&count, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc) < 0 {
 64173  		return count
 64174  	} // Match failed
 64175  	if count == 0 {
 64176  		count = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 64177  	} // Ovector too small
 64178  
 64179  	count2 = 2 * count
 64180  	ovector = match_data + 80                                                         /* &.ovector */
 64181  	size = uint64(unsafe.Sizeof(Tpcre2_memctl{})) + uint64(unsafe.Sizeof(uintptr(0))) // For final NULL
 64182  	if lengthsptr != uintptr(0) {
 64183  		size = size + uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count)
 64184  	} // For lengths
 64185  
 64186  	for i = 0; i < count2; i = i + 2 {
 64187  		size = size + (uint64(unsafe.Sizeof(uintptr(0))) + uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 64188  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) {
 64189  			size = size + (*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8))-*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)))*uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 64190  		}
 64191  	}
 64192  
 64193  	memp = X_pcre2_memctl_malloc_8(tls, size, match_data)
 64194  	if memp == uintptr(0) {
 64195  		return -48
 64196  	}
 64197  
 64198  	*(*uintptr)(unsafe.Pointer(listptr)) = libc.AssignUintptr(&listp, memp+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))))
 64199  	lensp = listp + uintptr(uint64(unsafe.Sizeof(uintptr(0)))*uint64(count+1))
 64200  
 64201  	if lengthsptr == uintptr(0) {
 64202  		sp = lensp
 64203  		lensp = uintptr(0)
 64204  	} else {
 64205  		*(*uintptr)(unsafe.Pointer(lengthsptr)) = lensp
 64206  		sp = lensp + uintptr(uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count))
 64207  	}
 64208  
 64209  	for i = 0; i < count2; i = i + 2 {
 64210  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) {
 64211  			size = *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) - *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8))
 64212  		} else {
 64213  			size = uint64(0)
 64214  		}
 64215  
 64216  		// Size == 0 includes the case when the capture is unset. Avoid adding
 64217  		//   PCRE2_UNSET to match_data->subject because it overflows, even though with
 64218  		//   zero size calling memcpy() is harmless.
 64219  
 64220  		if size != uint64(0) {
 64221  			libc.Xmemcpy(tls, sp, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8))), size*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 64222  		}
 64223  		*(*uintptr)(unsafe.Pointer(libc.PostIncUintptr(&listp, 8))) = sp
 64224  		if lensp != uintptr(0) {
 64225  			*(*Tsize_t)(unsafe.Pointer(libc.PostIncUintptr(&lensp, 8))) = size
 64226  		}
 64227  		sp += uintptr(size)
 64228  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&sp, 1))) = TPCRE2_UCHAR8(0)
 64229  	}
 64230  
 64231  	*(*uintptr)(unsafe.Pointer(listp)) = uintptr(0)
 64232  	return 0
 64233  }
 64234  
 64235  // ************************************************
 64236  //
 64237  //   Free memory obtained by substring_list_get   *
 64238  //
 64239  
 64240  //
 64241  // Argument:     the result of a previous pcre2_substring_list_get()
 64242  // Returns:      nothing
 64243  
 64244  func Xpcre2_substring_list_free_8(tls *libc.TLS, list uintptr) { /* pcre2_substring.c:445:1: */
 64245  	if list != uintptr(0) {
 64246  		var memctl uintptr = list - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64247  		(*struct {
 64248  			f func(*libc.TLS, uintptr, uintptr)
 64249  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64250  	}
 64251  }
 64252  
 64253  // ************************************************
 64254  //
 64255  //     Find (multiple) entries for named string   *
 64256  //
 64257  
 64258  // This function scans the nametable for a given name, using binary chop. It
 64259  // returns either two pointers to the entries in the table, or, if no pointers are
 64260  // given, the number of a unique group with the given name. If duplicate names are
 64261  // permitted, and the name is not unique, an error is generated.
 64262  //
 64263  // Arguments:
 64264  //   code        the compiled regex
 64265  //   stringname  the name whose entries required
 64266  //   firstptr    where to put the pointer to the first entry
 64267  //   lastptr     where to put the pointer to the last entry
 64268  //
 64269  // Returns:      PCRE2_ERROR_NOSUBSTRING if the name is not found
 64270  //               otherwise, if firstptr and lastptr are NULL:
 64271  //                 a group number for a unique substring
 64272  //                 else PCRE2_ERROR_NOUNIQUESUBSTRING
 64273  //               otherwise:
 64274  //                 the length of each entry, having set firstptr and lastptr
 64275  
 64276  func Xpcre2_substring_nametable_scan_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8, firstptr uintptr, lastptr uintptr) int32 { /* pcre2_substring.c:480:1: */
 64277  	var bot Tuint16_t = Tuint16_t(0)
 64278  	var top Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count
 64279  	var entrysize Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_entry_size
 64280  	var nametable TPCRE2_SPTR8 = code + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 64281  
 64282  	for int32(top) > int32(bot) {
 64283  		var mid Tuint16_t = Tuint16_t((int32(top) + int32(bot)) / 2)
 64284  		var entry TPCRE2_SPTR8 = nametable + uintptr(int32(entrysize)*int32(mid))
 64285  		var c int32 = X_pcre2_strcmp_8(tls, stringname, entry+uintptr(DIMM2_SIZE))
 64286  		if c == 0 {
 64287  			var first TPCRE2_SPTR8
 64288  			var last TPCRE2_SPTR8
 64289  			var lastentry TPCRE2_SPTR8
 64290  			lastentry = nametable + uintptr(int32(entrysize)*(int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count)-1))
 64291  			first = libc.AssignUintptr(&last, entry)
 64292  			for first > nametable {
 64293  				if X_pcre2_strcmp_8(tls, stringname, first-uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64294  					break
 64295  				}
 64296  				first -= TPCRE2_SPTR8(entrysize)
 64297  			}
 64298  			for last < lastentry {
 64299  				if X_pcre2_strcmp_8(tls, stringname, last+uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64300  					break
 64301  				}
 64302  				last += TPCRE2_SPTR8(entrysize)
 64303  			}
 64304  			if firstptr == uintptr(0) {
 64305  				if first == last {
 64306  					return int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))))
 64307  				}
 64308  				return -50
 64309  			}
 64310  			*(*TPCRE2_SPTR8)(unsafe.Pointer(firstptr)) = first
 64311  			*(*TPCRE2_SPTR8)(unsafe.Pointer(lastptr)) = last
 64312  			return int32(entrysize)
 64313  		}
 64314  		if c > 0 {
 64315  			bot = Tuint16_t(int32(mid) + 1)
 64316  		} else {
 64317  			top = mid
 64318  		}
 64319  	}
 64320  
 64321  	return -49
 64322  }
 64323  
 64324  // ************************************************
 64325  //
 64326  //           Find number for named string         *
 64327  //
 64328  
 64329  // This function is a convenience wrapper for pcre2_substring_nametable_scan()
 64330  // when it is known that names are unique. If there are duplicate names, it is not
 64331  // defined which number is returned.
 64332  //
 64333  // Arguments:
 64334  //   code        the compiled regex
 64335  //   stringname  the name whose number is required
 64336  //
 64337  // Returns:      the number of the named parenthesis, or a negative number
 64338  //                 PCRE2_ERROR_NOSUBSTRING if not found
 64339  //                 PCRE2_ERROR_NOUNIQUESUBSTRING if not unique
 64340  
 64341  func Xpcre2_substring_number_from_name_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8) int32 { /* pcre2_substring.c:541:1: */
 64342  	return Xpcre2_substring_nametable_scan_8(tls, code, stringname, uintptr(0), uintptr(0))
 64343  }
 64344  
 64345  // End of pcre2_substring.c
 64346  
 64347  // This function is needed only when memmove() is not available.
 64348  
 64349  // End of pcre2_internal.h
 64350  
 64351  // Table of sizes for the fixed-length opcodes. It's defined in a macro so that
 64352  // the definition is next to the definition of the opcodes in pcre2_internal.h.
 64353  // This is mode-dependent, so it is skipped when this file is included by
 64354  // pcre2test.
 64355  
 64356  var X_pcre2_OP_lengths_8 = [168]Tuint8_t{Tuint8_t(1) /* End                                    */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \A, \G, \K, \B, \b                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \D, \d, \S, \s, \W, \w                 */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* Any, AllAny, Anybyte                   */, Tuint8_t(3), Tuint8_t(3) /* \P, \p                                 */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \R, \H, \h, \V, \v                     */, Tuint8_t(1) /* \X                                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \Z, \z, $, $M ^, ^M                    */, Tuint8_t(2) /* Char  - the minimum length             */, Tuint8_t(2) /* Chari  - the minimum length            */, Tuint8_t(2) /* not                                    */, Tuint8_t(2) /* noti                                   */ /* Positive single-char repeats                             ** These are */, Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *, *?, +, +?, ?, ??       ** minima in */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *I, *?I, +I, +?I, ?I, ??I ** UTF-8     */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *, *?, +, +?, ?, ??                */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *I, *?I, +I, +?I, ?I, ??I          */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* Type *, *?, +, +?, ?, ??               */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* *, *?, +, +?, ?, ??                    */, Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + 2*DIMM2_SIZE), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), Tuint8_t(0) /* XCLASS - variable length               */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + 2*DLINK_SIZE + 1), Tuint8_t(0) /* CALLOUT_STR - variable length          */, Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1) /* FALSE, TRUE                            */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* BRAZERO, BRAMINZERO, BRAPOSZERO        */, Tuint8_t(3), Tuint8_t(1), Tuint8_t(3) /* MARK, PRUNE, PRUNE_ARG                 */, Tuint8_t(1), Tuint8_t(3) /* SKIP, SKIP_ARG                         */, Tuint8_t(1), Tuint8_t(3) /* THEN, THEN_ARG                         */, Tuint8_t(1), Tuint8_t(3) /* COMMIT, COMMIT_ARG                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* FAIL, ACCEPT, ASSERT_ACCEPT            */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1) /* CLOSE, SKIPZERO                        */, Tuint8_t(1)} /* pcre2_tables.c:60:15 */
 64357  
 64358  // Tables of horizontal and vertical whitespace characters, suitable for
 64359  // adding to classes.
 64360  
 64361  var X_pcre2_hspace_list_8 = [20]Tuint32_t{Tuint32_t('\011'), Tuint32_t('\040'), libc.Uint32FromUint8(libc.Uint8FromInt32(160)), Tuint32_t(0x1680), Tuint32_t(0x180e), Tuint32_t(0x2000), Tuint32_t(0x2001), Tuint32_t(0x2002), Tuint32_t(0x2003), Tuint32_t(0x2004), Tuint32_t(0x2005), Tuint32_t(0x2006), Tuint32_t(0x2007), Tuint32_t(0x2008), Tuint32_t(0x2009), Tuint32_t(0x200A), Tuint32_t(0x202f), Tuint32_t(0x205f), Tuint32_t(0x3000), DNOTACHAR} /* pcre2_tables.c:66:16 */
 64362  var X_pcre2_vspace_list_8 = [8]Tuint32_t{Tuint32_t('\012'), Tuint32_t('\013'), Tuint32_t('\014'), Tuint32_t('\015'), libc.Uint32FromUint8(libc.Uint8FromInt32(133)), Tuint32_t(0x2028), Tuint32_t(0x2029), DNOTACHAR}                                                                                                                                                                                                                                      /* pcre2_tables.c:67:16 */
 64363  
 64364  // These tables are the pairs of delimiters that are valid for callout string
 64365  // arguments. For each starting delimiter there must be a matching ending
 64366  // delimiter, which in fact is different only for bracket-like delimiters.
 64367  
 64368  var X_pcre2_callout_start_delims_8 = [9]Tuint32_t{
 64369  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64370  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64371  	Tuint32_t('\044'), Tuint32_t('\173'), Tuint32_t(0)} /* pcre2_tables.c:73:16 */
 64372  
 64373  var X_pcre2_callout_end_delims_8 = [9]Tuint32_t{
 64374  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64375  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64376  	Tuint32_t('\044'), Tuint32_t('\175'), Tuint32_t(0)} /* pcre2_tables.c:78:16 */
 64377  
 64378  // ************************************************
 64379  //
 64380  //           Tables for UTF-8 support             *
 64381  //
 64382  
 64383  // These tables are required by pcre2test in 16- or 32-bit mode, as well
 64384  // as for the library in 8-bit mode, because pcre2test uses UTF-8 internally for
 64385  // handling wide characters.
 64386  
 64387  // These are the breakpoints for different numbers of bytes in a UTF-8
 64388  // character.
 64389  
 64390  var X_pcre2_utf8_table1 = [6]int32{0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff} /* pcre2_tables.c:100:11 */
 64391  
 64392  var X_pcre2_utf8_table1_size int32 = int32(uint64(unsafe.Sizeof(X_pcre2_utf8_table1)) / uint64(unsafe.Sizeof(int32(0)))) /* pcre2_tables.c:103:11 */
 64393  
 64394  // These are the indicator bits and the mask for the data bits to set in the
 64395  // first byte of a character, indexed by the number of additional bytes.
 64396  
 64397  var X_pcre2_utf8_table2 = [6]int32{0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}    /* pcre2_tables.c:108:11 */
 64398  var X_pcre2_utf8_table3 = [6]int32{0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01} /* pcre2_tables.c:109:11 */
 64399  
 64400  // Table of the number of extra bytes, indexed by the first byte masked with
 64401  // 0x3f. The highest number for a valid UTF-8 first byte is in fact 0x3d.
 64402  
 64403  var X_pcre2_utf8_table4 = [64]Tuint8_t{
 64404  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1),
 64405  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1),
 64406  	Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2),
 64407  	Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5)} /* pcre2_tables.c:114:15 */
 64408  
 64409  // Tables concerned with Unicode properties are relevant only when Unicode
 64410  // support is enabled. See also the pcre2_ucptables.c file, which is generated by
 64411  // a Python script from Unicode data files.
 64412  
 64413  // Table to translate from particular type value to the general value.
 64414  
 64415  var X_pcre2_ucp_gentype_8 = [30]Tuint32_t{
 64416  	ucp_C, ucp_C, ucp_C, ucp_C, ucp_C, // Cc, Cf, Cn, Co, Cs
 64417  	ucp_L, ucp_L, ucp_L, ucp_L, ucp_L, // Ll, Lu, Lm, Lo, Lt
 64418  	ucp_M, ucp_M, ucp_M, // Mc, Me, Mn
 64419  	ucp_N, ucp_N, ucp_N, // Nd, Nl, No
 64420  	ucp_P, ucp_P, ucp_P, ucp_P, ucp_P, // Pc, Pd, Pe, Pf, Pi
 64421  	ucp_P, ucp_P, // Ps, Po
 64422  	ucp_S, ucp_S, ucp_S, ucp_S, // Sc, Sk, Sm, So
 64423  	ucp_Z, ucp_Z, ucp_Z, // Zl, Zp, Zs
 64424  } /* pcre2_tables.c:130:16 */
 64425  
 64426  // This table encodes the rules for finding the end of an extended grapheme
 64427  // cluster. Every code point has a grapheme break property which is one of the
 64428  // ucp_gbXX values defined in pcre2_ucp.h. These changed between Unicode versions
 64429  // 10 and 11. The 2-dimensional table is indexed by the properties of two adjacent
 64430  // code points. The left property selects a word from the table, and the right
 64431  // property selects a bit from that word like this:
 64432  //
 64433  //   PRIV(ucp_gbtable)[left-property] & (1u << right-property)
 64434  //
 64435  // The value is non-zero if a grapheme break is NOT permitted between the relevant
 64436  // two code points. The breaking rules are as follows:
 64437  //
 64438  // 1. Break at the start and end of text (pretty obviously).
 64439  //
 64440  // 2. Do not break between a CR and LF; otherwise, break before and after
 64441  //    controls.
 64442  //
 64443  // 3. Do not break Hangul syllable sequences, the rules for which are:
 64444  //
 64445  //     L may be followed by L, V, LV or LVT
 64446  //     LV or V may be followed by V or T
 64447  //     LVT or T may be followed by T
 64448  //
 64449  // 4. Do not break before extending characters or zero-width-joiner (ZWJ).
 64450  //
 64451  // The following rules are only for extended grapheme clusters (but that's what we
 64452  // are implementing).
 64453  //
 64454  // 5. Do not break before SpacingMarks.
 64455  //
 64456  // 6. Do not break after Prepend characters.
 64457  //
 64458  // 7. Do not break within emoji modifier sequences or emoji zwj sequences. That
 64459  //    is, do not break between characters with the Extended_Pictographic property.
 64460  //    Extend and ZWJ characters are allowed between the characters; this cannot be
 64461  //    represented in this table, the code has to deal with it.
 64462  //
 64463  // 8. Do not break within emoji flag sequences. That is, do not break between
 64464  //    regional indicator (RI) symbols if there are an odd number of RI characters
 64465  //    before the break point. This table encodes "join RI characters"; the code
 64466  //    has to deal with checking for previous adjoining RIs.
 64467  //
 64468  // 9. Otherwise, break everywhere.
 64469  
 64470  var X_pcre2_ucp_gbtable_8 = [15]Tuint32_t{
 64471  	uint32(1) << ucp_gbLF,
 64472  	Tuint32_t(0), //  1 LF
 64473  	Tuint32_t(0), //  2 Control
 64474  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64475  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbPrepend | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT | uint32(1)<<ucp_gbOther | uint32(1)<<ucp_gbRegional_Indicator,
 64476  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64477  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT,
 64478  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64479  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64480  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64481  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64482  	uint32(1) << ucp_gbRegional_Indicator,
 64483  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64484  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64485  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbExtended_Pictographic,
 64486  } /* pcre2_tables.c:188:16 */
 64487  
 64488  // Finally, include the tables that are auto-generated from the Unicode data
 64489  // files.
 64490  
 64491  // ************************************************
 64492  //
 64493  //      Perl-Compatible Regular Expressions       *
 64494  //
 64495  
 64496  // PCRE is a library of functions to support regular expressions whose syntax
 64497  // and semantics are as close as possible to those of the Perl 5 language.
 64498  //
 64499  //                        Written by Philip Hazel
 64500  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 64501  //           New API code Copyright (c) 2016-2022 University of Cambridge
 64502  //
 64503  // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
 64504  // Instead, modify the maint/GenerateUcpTables.py script and run it to generate
 64505  // a new version of this code.
 64506  //
 64507  // -----------------------------------------------------------------------------
 64508  // Redistribution and use in source and binary forms, with or without
 64509  // modification, are permitted provided that the following conditions are met:
 64510  //
 64511  //     * Redistributions of source code must retain the above copyright notice,
 64512  //       this list of conditions and the following disclaimer.
 64513  //
 64514  //     * Redistributions in binary form must reproduce the above copyright
 64515  //       notice, this list of conditions and the following disclaimer in the
 64516  //       documentation and/or other materials provided with the distribution.
 64517  //
 64518  //     * Neither the name of the University of Cambridge nor the names of its
 64519  //       contributors may be used to endorse or promote products derived from
 64520  //       this software without specific prior written permission.
 64521  //
 64522  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 64523  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 64524  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 64525  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 64526  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 64527  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 64528  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 64529  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 64530  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 64531  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 64532  // POSSIBILITY OF SUCH DAMAGE.
 64533  // -----------------------------------------------------------------------------
 64534  
 64535  // The PRIV(utt)[] table below translates Unicode property names into type and
 64536  // code values. It is searched by binary chop, so must be in collating sequence of
 64537  // name. Originally, the table contained pointers to the name strings in the first
 64538  // field of each entry. However, that leads to a large number of relocations when
 64539  // a shared library is dynamically loaded. A significant reduction is made by
 64540  // putting all the names into a single, large string and using offsets instead.
 64541  // All letters are lower cased, and underscores are removed, in accordance with
 64542  // the "loose matching" rules that Unicode advises and Perl uses.
 64543  
 64544  var X_pcre2_utt_names_8 = *(*[3569]int8)(unsafe.Pointer(ts + 7683)) /* pcre2_ucptables.c:543:12 */
 64545  
 64546  var X_pcre2_utt_8 = [486]Tucp_type_table{
 64547  	{Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64548  	{Fname_offset: Tuint16_t(6), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64549  	{Fname_offset: Tuint16_t(11), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64550  	{Fname_offset: Tuint16_t(16), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64551  	{Fname_offset: Tuint16_t(21), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ahom},
 64552  	{Fname_offset: Tuint16_t(26), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64553  	{Fname_offset: Tuint16_t(32), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64554  	{Fname_offset: Tuint16_t(43), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64555  	{Fname_offset: Tuint16_t(64)},
 64556  	{Fname_offset: Tuint16_t(68), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64557  	{Fname_offset: Tuint16_t(73), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64558  	{Fname_offset: Tuint16_t(80), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64559  	{Fname_offset: Tuint16_t(89), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64560  	{Fname_offset: Tuint16_t(94), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64561  	{Fname_offset: Tuint16_t(99), Ftype: Tuint16_t(DPT_BOOL)},
 64562  	{Fname_offset: Tuint16_t(105), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64563  	{Fname_offset: Tuint16_t(119), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64564  	{Fname_offset: Tuint16_t(127), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64565  	{Fname_offset: Tuint16_t(132), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64566  	{Fname_offset: Tuint16_t(137), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64567  	{Fname_offset: Tuint16_t(146), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64568  	{Fname_offset: Tuint16_t(151), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64569  	{Fname_offset: Tuint16_t(157), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64570  	{Fname_offset: Tuint16_t(162), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64571  	{Fname_offset: Tuint16_t(171), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64572  	{Fname_offset: Tuint16_t(177), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64573  	{Fname_offset: Tuint16_t(182), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64574  	{Fname_offset: Tuint16_t(187), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64575  	{Fname_offset: Tuint16_t(195), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64576  	{Fname_offset: Tuint16_t(205), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64577  	{Fname_offset: Tuint16_t(210), Ftype: Tuint16_t(DPT_BIDICL)},
 64578  	{Fname_offset: Tuint16_t(217), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiAN},
 64579  	{Fname_offset: Tuint16_t(224), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiB},
 64580  	{Fname_offset: Tuint16_t(230), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiBN},
 64581  	{Fname_offset: Tuint16_t(237), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64582  	{Fname_offset: Tuint16_t(243), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64583  	{Fname_offset: Tuint16_t(255), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiCS},
 64584  	{Fname_offset: Tuint16_t(262), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiEN},
 64585  	{Fname_offset: Tuint16_t(269), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiES},
 64586  	{Fname_offset: Tuint16_t(276), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiET},
 64587  	{Fname_offset: Tuint16_t(283), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiFSI},
 64588  	{Fname_offset: Tuint16_t(291), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiL},
 64589  	{Fname_offset: Tuint16_t(297), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRE},
 64590  	{Fname_offset: Tuint16_t(305), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRI},
 64591  	{Fname_offset: Tuint16_t(313), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRO},
 64592  	{Fname_offset: Tuint16_t(321), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64593  	{Fname_offset: Tuint16_t(327), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64594  	{Fname_offset: Tuint16_t(340), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiNSM},
 64595  	{Fname_offset: Tuint16_t(348), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiON},
 64596  	{Fname_offset: Tuint16_t(355), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDF},
 64597  	{Fname_offset: Tuint16_t(363), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDI},
 64598  	{Fname_offset: Tuint16_t(371), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiR},
 64599  	{Fname_offset: Tuint16_t(377), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLE},
 64600  	{Fname_offset: Tuint16_t(385), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLI},
 64601  	{Fname_offset: Tuint16_t(393), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLO},
 64602  	{Fname_offset: Tuint16_t(401), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiS},
 64603  	{Fname_offset: Tuint16_t(407), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiWS},
 64604  	{Fname_offset: Tuint16_t(414), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64605  	{Fname_offset: Tuint16_t(419), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64606  	{Fname_offset: Tuint16_t(428), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64607  	{Fname_offset: Tuint16_t(433), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64608  	{Fname_offset: Tuint16_t(440), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64609  	{Fname_offset: Tuint16_t(445), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64610  	{Fname_offset: Tuint16_t(453), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64611  	{Fname_offset: Tuint16_t(458), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64612  	{Fname_offset: Tuint16_t(467), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64613  	{Fname_offset: Tuint16_t(472), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64614  	{Fname_offset: Tuint16_t(478), Ftype: Tuint16_t(DPT_GC)},
 64615  	{Fname_offset: Tuint16_t(480), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64616  	{Fname_offset: Tuint16_t(485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64617  	{Fname_offset: Tuint16_t(504), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64618  	{Fname_offset: Tuint16_t(509), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64619  	{Fname_offset: Tuint16_t(514), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64620  	{Fname_offset: Tuint16_t(521), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Cased},
 64621  	{Fname_offset: Tuint16_t(527), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64622  	{Fname_offset: Tuint16_t(541), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64623  	{Fname_offset: Tuint16_t(559), Ftype: Tuint16_t(DPT_PC)},
 64624  	{Fname_offset: Tuint16_t(562), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cf},
 64625  	{Fname_offset: Tuint16_t(565), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64626  	{Fname_offset: Tuint16_t(572), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cham},
 64627  	{Fname_offset: Tuint16_t(577), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64628  	{Fname_offset: Tuint16_t(599), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64629  	{Fname_offset: Tuint16_t(621), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64630  	{Fname_offset: Tuint16_t(643), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64631  	{Fname_offset: Tuint16_t(665), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64632  	{Fname_offset: Tuint16_t(687), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64633  	{Fname_offset: Tuint16_t(692), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64634  	{Fname_offset: Tuint16_t(701), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64635  	{Fname_offset: Tuint16_t(712), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64636  	{Fname_offset: Tuint16_t(717), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64637  	{Fname_offset: Tuint16_t(720), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cn},
 64638  	{Fname_offset: Tuint16_t(723), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Co},
 64639  	{Fname_offset: Tuint16_t(726), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 64640  	{Fname_offset: Tuint16_t(733), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64641  	{Fname_offset: Tuint16_t(738), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64642  	{Fname_offset: Tuint16_t(745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64643  	{Fname_offset: Tuint16_t(750), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64644  	{Fname_offset: Tuint16_t(755), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cs},
 64645  	{Fname_offset: Tuint16_t(758), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 64646  	{Fname_offset: Tuint16_t(768), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64647  	{Fname_offset: Tuint16_t(773), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64648  	{Fname_offset: Tuint16_t(778), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64649  	{Fname_offset: Tuint16_t(782), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64650  	{Fname_offset: Tuint16_t(786), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64651  	{Fname_offset: Tuint16_t(790), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64652  	{Fname_offset: Tuint16_t(798), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64653  	{Fname_offset: Tuint16_t(810), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64654  	{Fname_offset: Tuint16_t(819), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64655  	{Fname_offset: Tuint16_t(824), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Dash},
 64656  	{Fname_offset: Tuint16_t(829), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64657  	{Fname_offset: Tuint16_t(855), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64658  	{Fname_offset: Tuint16_t(859), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64659  	{Fname_offset: Tuint16_t(870), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64660  	{Fname_offset: Tuint16_t(878), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64661  	{Fname_offset: Tuint16_t(883), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64662  	{Fname_offset: Tuint16_t(894), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64663  	{Fname_offset: Tuint16_t(897), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64664  	{Fname_offset: Tuint16_t(901), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64665  	{Fname_offset: Tuint16_t(911), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64666  	{Fname_offset: Tuint16_t(916), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64667  	{Fname_offset: Tuint16_t(927), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64668  	{Fname_offset: Tuint16_t(932), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64669  	{Fname_offset: Tuint16_t(938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64670  	{Fname_offset: Tuint16_t(943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64671  	{Fname_offset: Tuint16_t(948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64672  	{Fname_offset: Tuint16_t(957), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64673  	{Fname_offset: Tuint16_t(963), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64674  	{Fname_offset: Tuint16_t(969), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64675  	{Fname_offset: Tuint16_t(974), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64676  	{Fname_offset: Tuint16_t(994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64677  	{Fname_offset: Tuint16_t(999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64678  	{Fname_offset: Tuint16_t(1007), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64679  	{Fname_offset: Tuint16_t(1012), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64680  	{Fname_offset: Tuint16_t(1020), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64681  	{Fname_offset: Tuint16_t(1025), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji},
 64682  	{Fname_offset: Tuint16_t(1031), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64683  	{Fname_offset: Tuint16_t(1046), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64684  	{Fname_offset: Tuint16_t(1060), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64685  	{Fname_offset: Tuint16_t(1078), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64686  	{Fname_offset: Tuint16_t(1096), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64687  	{Fname_offset: Tuint16_t(1102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64688  	{Fname_offset: Tuint16_t(1107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64689  	{Fname_offset: Tuint16_t(1116), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64690  	{Fname_offset: Tuint16_t(1120), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64691  	{Fname_offset: Tuint16_t(1141), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64692  	{Fname_offset: Tuint16_t(1150), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64693  	{Fname_offset: Tuint16_t(1158), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64694  	{Fname_offset: Tuint16_t(1163), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64695  	{Fname_offset: Tuint16_t(1172), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64696  	{Fname_offset: Tuint16_t(1177), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64697  	{Fname_offset: Tuint16_t(1188), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64698  	{Fname_offset: Tuint16_t(1193), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64699  	{Fname_offset: Tuint16_t(1198), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64700  	{Fname_offset: Tuint16_t(1203), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64701  	{Fname_offset: Tuint16_t(1210), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64702  	{Fname_offset: Tuint16_t(1215), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64703  	{Fname_offset: Tuint16_t(1223), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64704  	{Fname_offset: Tuint16_t(1236), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64705  	{Fname_offset: Tuint16_t(1251), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64706  	{Fname_offset: Tuint16_t(1264), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64707  	{Fname_offset: Tuint16_t(1271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64708  	{Fname_offset: Tuint16_t(1277), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64709  	{Fname_offset: Tuint16_t(1282), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64710  	{Fname_offset: Tuint16_t(1288), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64711  	{Fname_offset: Tuint16_t(1295), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64712  	{Fname_offset: Tuint16_t(1304), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64713  	{Fname_offset: Tuint16_t(1309), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64714  	{Fname_offset: Tuint16_t(1322), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64715  	{Fname_offset: Tuint16_t(1331), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64716  	{Fname_offset: Tuint16_t(1336), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64717  	{Fname_offset: Tuint16_t(1340), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64718  	{Fname_offset: Tuint16_t(1345), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64719  	{Fname_offset: Tuint16_t(1352), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64720  	{Fname_offset: Tuint16_t(1357), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64721  	{Fname_offset: Tuint16_t(1372), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64722  	{Fname_offset: Tuint16_t(1377), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64723  	{Fname_offset: Tuint16_t(1385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64724  	{Fname_offset: Tuint16_t(1390), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64725  	{Fname_offset: Tuint16_t(1397), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64726  	{Fname_offset: Tuint16_t(1402), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64727  	{Fname_offset: Tuint16_t(1409), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64728  	{Fname_offset: Tuint16_t(1413), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64729  	{Fname_offset: Tuint16_t(1422), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64730  	{Fname_offset: Tuint16_t(1427), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64731  	{Fname_offset: Tuint16_t(1436), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64732  	{Fname_offset: Tuint16_t(1441), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64733  	{Fname_offset: Tuint16_t(1446), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64734  	{Fname_offset: Tuint16_t(1451), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64735  	{Fname_offset: Tuint16_t(1456), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64736  	{Fname_offset: Tuint16_t(1460), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64737  	{Fname_offset: Tuint16_t(1471), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64738  	{Fname_offset: Tuint16_t(1476), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64739  	{Fname_offset: Tuint16_t(1488), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64740  	{Fname_offset: Tuint16_t(1492), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64741  	{Fname_offset: Tuint16_t(1497), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64742  	{Fname_offset: Tuint16_t(1515), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64743  	{Fname_offset: Tuint16_t(1520), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64744  	{Fname_offset: Tuint16_t(1528), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64745  	{Fname_offset: Tuint16_t(1547), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64746  	{Fname_offset: Tuint16_t(1563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64747  	{Fname_offset: Tuint16_t(1573), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64748  	{Fname_offset: Tuint16_t(1594), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64749  	{Fname_offset: Tuint16_t(1616), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64750  	{Fname_offset: Tuint16_t(1621), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64751  	{Fname_offset: Tuint16_t(1626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64752  	{Fname_offset: Tuint16_t(1635), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64753  	{Fname_offset: Tuint16_t(1641), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64754  	{Fname_offset: Tuint16_t(1653), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64755  	{Fname_offset: Tuint16_t(1660), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64756  	{Fname_offset: Tuint16_t(1665), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64757  	{Fname_offset: Tuint16_t(1670), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64758  	{Fname_offset: Tuint16_t(1678), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64759  	{Fname_offset: Tuint16_t(1687), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64760  	{Fname_offset: Tuint16_t(1695), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64761  	{Fname_offset: Tuint16_t(1700), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64762  	{Fname_offset: Tuint16_t(1711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64763  	{Fname_offset: Tuint16_t(1729), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64764  	{Fname_offset: Tuint16_t(1735), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64765  	{Fname_offset: Tuint16_t(1740), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64766  	{Fname_offset: Tuint16_t(1745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64767  	{Fname_offset: Tuint16_t(1752), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64768  	{Fname_offset: Tuint16_t(1762), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64769  	{Fname_offset: Tuint16_t(1767), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64770  	{Fname_offset: Tuint16_t(1772), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64771  	{Fname_offset: Tuint16_t(1777), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_L},
 64772  	{Fname_offset: Tuint16_t(1779), Ftype: Tuint16_t(DPT_LAMP)},
 64773  	{Fname_offset: Tuint16_t(1782), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64774  	{Fname_offset: Tuint16_t(1787), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64775  	{Fname_offset: Tuint16_t(1791), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64776  	{Fname_offset: Tuint16_t(1796), Ftype: Tuint16_t(DPT_SCX)},
 64777  	{Fname_offset: Tuint16_t(1802), Ftype: Tuint16_t(DPT_SCX)},
 64778  	{Fname_offset: Tuint16_t(1807), Ftype: Tuint16_t(DPT_LAMP)},
 64779  	{Fname_offset: Tuint16_t(1810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64780  	{Fname_offset: Tuint16_t(1815), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64781  	{Fname_offset: Tuint16_t(1822), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64782  	{Fname_offset: Tuint16_t(1827), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64783  	{Fname_offset: Tuint16_t(1833), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64784  	{Fname_offset: Tuint16_t(1838), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64785  	{Fname_offset: Tuint16_t(1843), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64786  	{Fname_offset: Tuint16_t(1851), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64787  	{Fname_offset: Tuint16_t(1859), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lisu},
 64788  	{Fname_offset: Tuint16_t(1864), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ll},
 64789  	{Fname_offset: Tuint16_t(1867), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lm},
 64790  	{Fname_offset: Tuint16_t(1870), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lo},
 64791  	{Fname_offset: Tuint16_t(1873), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64792  	{Fname_offset: Tuint16_t(1877), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64793  	{Fname_offset: Tuint16_t(1899), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64794  	{Fname_offset: Tuint16_t(1905), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64795  	{Fname_offset: Tuint16_t(1915), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lt},
 64796  	{Fname_offset: Tuint16_t(1918), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lu},
 64797  	{Fname_offset: Tuint16_t(1921), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64798  	{Fname_offset: Tuint16_t(1926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64799  	{Fname_offset: Tuint16_t(1933), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64800  	{Fname_offset: Tuint16_t(1938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64801  	{Fname_offset: Tuint16_t(1945), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_M},
 64802  	{Fname_offset: Tuint16_t(1947), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64803  	{Fname_offset: Tuint16_t(1956), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64804  	{Fname_offset: Tuint16_t(1961), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64805  	{Fname_offset: Tuint16_t(1966), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64806  	{Fname_offset: Tuint16_t(1974), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64807  	{Fname_offset: Tuint16_t(1984), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64808  	{Fname_offset: Tuint16_t(1989), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64809  	{Fname_offset: Tuint16_t(1997), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64810  	{Fname_offset: Tuint16_t(2002), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64811  	{Fname_offset: Tuint16_t(2013), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64812  	{Fname_offset: Tuint16_t(2018), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64813  	{Fname_offset: Tuint16_t(2026), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64814  	{Fname_offset: Tuint16_t(2039), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Math},
 64815  	{Fname_offset: Tuint16_t(2044), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mc},
 64816  	{Fname_offset: Tuint16_t(2047), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Me},
 64817  	{Fname_offset: Tuint16_t(2050), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64818  	{Fname_offset: Tuint16_t(2062), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64819  	{Fname_offset: Tuint16_t(2067), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64820  	{Fname_offset: Tuint16_t(2079), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64821  	{Fname_offset: Tuint16_t(2084), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64822  	{Fname_offset: Tuint16_t(2097), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64823  	{Fname_offset: Tuint16_t(2102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64824  	{Fname_offset: Tuint16_t(2107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64825  	{Fname_offset: Tuint16_t(2123), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64826  	{Fname_offset: Tuint16_t(2143), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64827  	{Fname_offset: Tuint16_t(2148), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64828  	{Fname_offset: Tuint16_t(2153), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mn},
 64829  	{Fname_offset: Tuint16_t(2156), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Modi},
 64830  	{Fname_offset: Tuint16_t(2161), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64831  	{Fname_offset: Tuint16_t(2166), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64832  	{Fname_offset: Tuint16_t(2176), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64833  	{Fname_offset: Tuint16_t(2180), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64834  	{Fname_offset: Tuint16_t(2185), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64835  	{Fname_offset: Tuint16_t(2190), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64836  	{Fname_offset: Tuint16_t(2195), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64837  	{Fname_offset: Tuint16_t(2203), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64838  	{Fname_offset: Tuint16_t(2211), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64839  	{Fname_offset: Tuint16_t(2216), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_N},
 64840  	{Fname_offset: Tuint16_t(2218), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64841  	{Fname_offset: Tuint16_t(2228), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64842  	{Fname_offset: Tuint16_t(2233), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64843  	{Fname_offset: Tuint16_t(2245), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64844  	{Fname_offset: Tuint16_t(2250), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64845  	{Fname_offset: Tuint16_t(2255), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64846  	{Fname_offset: Tuint16_t(2261), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nd},
 64847  	{Fname_offset: Tuint16_t(2264), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Newa},
 64848  	{Fname_offset: Tuint16_t(2269), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64849  	{Fname_offset: Tuint16_t(2279), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64850  	{Fname_offset: Tuint16_t(2283), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64851  	{Fname_offset: Tuint16_t(2288), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nl},
 64852  	{Fname_offset: Tuint16_t(2291), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_No},
 64853  	{Fname_offset: Tuint16_t(2294), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64854  	{Fname_offset: Tuint16_t(2316), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64855  	{Fname_offset: Tuint16_t(2321), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64856  	{Fname_offset: Tuint16_t(2327), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64857  	{Fname_offset: Tuint16_t(2348), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64858  	{Fname_offset: Tuint16_t(2353), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64859  	{Fname_offset: Tuint16_t(2359), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64860  	{Fname_offset: Tuint16_t(2367), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64861  	{Fname_offset: Tuint16_t(2372), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64862  	{Fname_offset: Tuint16_t(2385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64863  	{Fname_offset: Tuint16_t(2395), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64864  	{Fname_offset: Tuint16_t(2411), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64865  	{Fname_offset: Tuint16_t(2421), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 64866  	{Fname_offset: Tuint16_t(2432), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64867  	{Fname_offset: Tuint16_t(2443), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64868  	{Fname_offset: Tuint16_t(2459), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64869  	{Fname_offset: Tuint16_t(2469), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64870  	{Fname_offset: Tuint16_t(2479), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64871  	{Fname_offset: Tuint16_t(2485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64872  	{Fname_offset: Tuint16_t(2490), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64873  	{Fname_offset: Tuint16_t(2495), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64874  	{Fname_offset: Tuint16_t(2501), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64875  	{Fname_offset: Tuint16_t(2506), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64876  	{Fname_offset: Tuint16_t(2511), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64877  	{Fname_offset: Tuint16_t(2519), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64878  	{Fname_offset: Tuint16_t(2524), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_P},
 64879  	{Fname_offset: Tuint16_t(2526), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64880  	{Fname_offset: Tuint16_t(2538), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64881  	{Fname_offset: Tuint16_t(2543), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64882  	{Fname_offset: Tuint16_t(2553), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64883  	{Fname_offset: Tuint16_t(2560), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64884  	{Fname_offset: Tuint16_t(2574), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64885  	{Fname_offset: Tuint16_t(2592), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64886  	{Fname_offset: Tuint16_t(2598), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64887  	{Fname_offset: Tuint16_t(2603), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64888  	{Fname_offset: Tuint16_t(2613), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pc},
 64889  	{Fname_offset: Tuint16_t(2616), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64890  	{Fname_offset: Tuint16_t(2620), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pd},
 64891  	{Fname_offset: Tuint16_t(2623), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pe},
 64892  	{Fname_offset: Tuint16_t(2626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64893  	{Fname_offset: Tuint16_t(2631), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pf},
 64894  	{Fname_offset: Tuint16_t(2634), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64895  	{Fname_offset: Tuint16_t(2639), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64896  	{Fname_offset: Tuint16_t(2647), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64897  	{Fname_offset: Tuint16_t(2652), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64898  	{Fname_offset: Tuint16_t(2657), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64899  	{Fname_offset: Tuint16_t(2662), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64900  	{Fname_offset: Tuint16_t(2673), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pi},
 64901  	{Fname_offset: Tuint16_t(2676), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64902  	{Fname_offset: Tuint16_t(2681), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Po},
 64903  	{Fname_offset: Tuint16_t(2684), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64904  	{Fname_offset: Tuint16_t(2711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64905  	{Fname_offset: Tuint16_t(2716), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ps},
 64906  	{Fname_offset: Tuint16_t(2719), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64907  	{Fname_offset: Tuint16_t(2734), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64908  	{Fname_offset: Tuint16_t(2739), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64909  	{Fname_offset: Tuint16_t(2744), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64910  	{Fname_offset: Tuint16_t(2750), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64911  	{Fname_offset: Tuint16_t(2764), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Radical},
 64912  	{Fname_offset: Tuint16_t(2772), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64913  	{Fname_offset: Tuint16_t(2790), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64914  	{Fname_offset: Tuint16_t(2797), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64915  	{Fname_offset: Tuint16_t(2800), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64916  	{Fname_offset: Tuint16_t(2805), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64917  	{Fname_offset: Tuint16_t(2810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64918  	{Fname_offset: Tuint16_t(2816), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64919  	{Fname_offset: Tuint16_t(2821), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_S},
 64920  	{Fname_offset: Tuint16_t(2823), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64921  	{Fname_offset: Tuint16_t(2833), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64922  	{Fname_offset: Tuint16_t(2838), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64923  	{Fname_offset: Tuint16_t(2843), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64924  	{Fname_offset: Tuint16_t(2848), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64925  	{Fname_offset: Tuint16_t(2859), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sc},
 64926  	{Fname_offset: Tuint16_t(2862), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64927  	{Fname_offset: Tuint16_t(2865), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64928  	{Fname_offset: Tuint16_t(2882), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64929  	{Fname_offset: Tuint16_t(2887), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64930  	{Fname_offset: Tuint16_t(2895), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64931  	{Fname_offset: Tuint16_t(2903), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64932  	{Fname_offset: Tuint16_t(2908), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64933  	{Fname_offset: Tuint16_t(2913), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64934  	{Fname_offset: Tuint16_t(2918), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64935  	{Fname_offset: Tuint16_t(2926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64936  	{Fname_offset: Tuint16_t(2938), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64937  	{Fname_offset: Tuint16_t(2943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64938  	{Fname_offset: Tuint16_t(2948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64939  	{Fname_offset: Tuint16_t(2956), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sk},
 64940  	{Fname_offset: Tuint16_t(2959), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sm},
 64941  	{Fname_offset: Tuint16_t(2962), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_So},
 64942  	{Fname_offset: Tuint16_t(2965), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64943  	{Fname_offset: Tuint16_t(2976), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64944  	{Fname_offset: Tuint16_t(2981), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64945  	{Fname_offset: Tuint16_t(2989), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64946  	{Fname_offset: Tuint16_t(2994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64947  	{Fname_offset: Tuint16_t(2999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64948  	{Fname_offset: Tuint16_t(3011), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64949  	{Fname_offset: Tuint16_t(3016), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64950  	{Fname_offset: Tuint16_t(3024), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 64951  	{Fname_offset: Tuint16_t(3030), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64952  	{Fname_offset: Tuint16_t(3036), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64953  	{Fname_offset: Tuint16_t(3041), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64954  	{Fname_offset: Tuint16_t(3051), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64955  	{Fname_offset: Tuint16_t(3056), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64956  	{Fname_offset: Tuint16_t(3068), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64957  	{Fname_offset: Tuint16_t(3073), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64958  	{Fname_offset: Tuint16_t(3080), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64959  	{Fname_offset: Tuint16_t(3088), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64960  	{Fname_offset: Tuint16_t(3093), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64961  	{Fname_offset: Tuint16_t(3102), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64962  	{Fname_offset: Tuint16_t(3108), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64963  	{Fname_offset: Tuint16_t(3116), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64964  	{Fname_offset: Tuint16_t(3124), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64965  	{Fname_offset: Tuint16_t(3129), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64966  	{Fname_offset: Tuint16_t(3135), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64967  	{Fname_offset: Tuint16_t(3140), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64968  	{Fname_offset: Tuint16_t(3145), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64969  	{Fname_offset: Tuint16_t(3151), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64970  	{Fname_offset: Tuint16_t(3156), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64971  	{Fname_offset: Tuint16_t(3161), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64972  	{Fname_offset: Tuint16_t(3168), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64973  	{Fname_offset: Tuint16_t(3175), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64974  	{Fname_offset: Tuint16_t(3180), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64975  	{Fname_offset: Tuint16_t(3185), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64976  	{Fname_offset: Tuint16_t(3192), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64977  	{Fname_offset: Tuint16_t(3197), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64978  	{Fname_offset: Tuint16_t(3217), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64979  	{Fname_offset: Tuint16_t(3222), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64980  	{Fname_offset: Tuint16_t(3227), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64981  	{Fname_offset: Tuint16_t(3232), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64982  	{Fname_offset: Tuint16_t(3239), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Thai},
 64983  	{Fname_offset: Tuint16_t(3244), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64984  	{Fname_offset: Tuint16_t(3252), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64985  	{Fname_offset: Tuint16_t(3257), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64986  	{Fname_offset: Tuint16_t(3266), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64987  	{Fname_offset: Tuint16_t(3271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64988  	{Fname_offset: Tuint16_t(3279), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64989  	{Fname_offset: Tuint16_t(3284), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Toto},
 64990  	{Fname_offset: Tuint16_t(3289), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64991  	{Fname_offset: Tuint16_t(3294), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64992  	{Fname_offset: Tuint16_t(3303), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64993  	{Fname_offset: Tuint16_t(3309), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64994  	{Fname_offset: Tuint16_t(3326), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 64995  	{Fname_offset: Tuint16_t(3334), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64996  	{Fname_offset: Tuint16_t(3340), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64997  	{Fname_offset: Tuint16_t(3350), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64998  	{Fname_offset: Tuint16_t(3354), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64999  	{Fname_offset: Tuint16_t(3359), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 65000  	{Fname_offset: Tuint16_t(3377), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 65001  	{Fname_offset: Tuint16_t(3382), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 65002  	{Fname_offset: Tuint16_t(3391), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 65003  	{Fname_offset: Tuint16_t(3394), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 65004  	{Fname_offset: Tuint16_t(3401), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 65005  	{Fname_offset: Tuint16_t(3406), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 65006  	{Fname_offset: Tuint16_t(3417), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 65007  	{Fname_offset: Tuint16_t(3422), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 65008  	{Fname_offset: Tuint16_t(3433), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 65009  	{Fname_offset: Tuint16_t(3440), Ftype: Tuint16_t(DPT_ALNUM)},
 65010  	{Fname_offset: Tuint16_t(3444), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 65011  	{Fname_offset: Tuint16_t(3449), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 65012  	{Fname_offset: Tuint16_t(3461), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 65013  	{Fname_offset: Tuint16_t(3466), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 65014  	{Fname_offset: Tuint16_t(3475), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 65015  	{Fname_offset: Tuint16_t(3480), Ftype: Tuint16_t(DPT_PXSPACE)},
 65016  	{Fname_offset: Tuint16_t(3484), Ftype: Tuint16_t(DPT_SPACE)},
 65017  	{Fname_offset: Tuint16_t(3488), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 65018  	{Fname_offset: Tuint16_t(3493), Ftype: Tuint16_t(DPT_UCNC)},
 65019  	{Fname_offset: Tuint16_t(3497), Ftype: Tuint16_t(DPT_WORD)},
 65020  	{Fname_offset: Tuint16_t(3501), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65021  	{Fname_offset: Tuint16_t(3506), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65022  	{Fname_offset: Tuint16_t(3513), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65023  	{Fname_offset: Tuint16_t(3516), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65024  	{Fname_offset: Tuint16_t(3521), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_Z},
 65025  	{Fname_offset: Tuint16_t(3523), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65026  	{Fname_offset: Tuint16_t(3539), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65027  	{Fname_offset: Tuint16_t(3544), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 65028  	{Fname_offset: Tuint16_t(3549), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zl},
 65029  	{Fname_offset: Tuint16_t(3552), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zp},
 65030  	{Fname_offset: Tuint16_t(3555), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zs},
 65031  	{Fname_offset: Tuint16_t(3558), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 65032  	{Fname_offset: Tuint16_t(3563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 65033  } /* pcre2_ucptables.c:1031:22 */
 65034  
 65035  var X_pcre2_utt_size_8 Tsize_t = uint64(unsafe.Sizeof(X_pcre2_utt_8)) / uint64(unsafe.Sizeof(Tucp_type_table{})) /* pcre2_ucptables.c:1520:14 */
 65036  
 65037  // End of pcre2_ucptables.c
 65038  
 65039  // End of pcre2_tables.c
 65040  
 65041  // This function is needed only when memmove() is not available.
 65042  
 65043  // End of pcre2_internal.h
 65044  
 65045  // The tables herein are needed only when UCP support is built, and in PCRE2
 65046  // that happens automatically with UTF support. This module should not be
 65047  // referenced otherwise, so it should not matter whether it is compiled or not.
 65048  // However a comment was received about space saving - maybe the guy linked all
 65049  // the modules rather than using a library - so we include a condition to cut out
 65050  // the tables when not needed. But don't leave a totally empty module because some
 65051  // compilers barf at that. Instead, just supply some small dummy tables.
 65052  
 65053  // Total size: 111116 bytes, block size: 128.
 65054  
 65055  var X_pcre2_unicode_version_8 uintptr = ts + 11252 /* "14.0.0" */ /* pcre2_ucd.c:79:12 */
 65056  
 65057  // When recompiling tables with a new Unicode version, please check the types
 65058  // in this structure definition with those in pcre2_internal.h (the actual field
 65059  // names will be different).
 65060  //
 65061  // typedef struct {
 65062  // uint8_t property_0;
 65063  // uint8_t property_1;
 65064  // uint8_t property_2;
 65065  // uint8_t property_3;
 65066  // int32_t property_4;
 65067  // uint16_t property_5;
 65068  // uint16_t property_6;
 65069  // } ucd_record;
 65070  
 65071  // If the 32-bit library is run in non-32-bit mode, character values greater
 65072  // than 0x10ffff may be encountered. For these we set up a special record.
 65073  
 65074  // This table contains lists of characters that are caseless sets of
 65075  // more than one character. Each list is terminated by NOTACHAR.
 65076  
 65077  var X_pcre2_ucd_caseless_sets_8 = [112]Tuint32_t{
 65078  	DNOTACHAR,
 65079  	Tuint32_t(0x0053), Tuint32_t(0x0073), Tuint32_t(0x017f), DNOTACHAR,
 65080  	Tuint32_t(0x01c4), Tuint32_t(0x01c5), Tuint32_t(0x01c6), DNOTACHAR,
 65081  	Tuint32_t(0x01c7), Tuint32_t(0x01c8), Tuint32_t(0x01c9), DNOTACHAR,
 65082  	Tuint32_t(0x01ca), Tuint32_t(0x01cb), Tuint32_t(0x01cc), DNOTACHAR,
 65083  	Tuint32_t(0x01f1), Tuint32_t(0x01f2), Tuint32_t(0x01f3), DNOTACHAR,
 65084  	Tuint32_t(0x0345), Tuint32_t(0x0399), Tuint32_t(0x03b9), Tuint32_t(0x1fbe), DNOTACHAR,
 65085  	Tuint32_t(0x00b5), Tuint32_t(0x039c), Tuint32_t(0x03bc), DNOTACHAR,
 65086  	Tuint32_t(0x03a3), Tuint32_t(0x03c2), Tuint32_t(0x03c3), DNOTACHAR,
 65087  	Tuint32_t(0x0392), Tuint32_t(0x03b2), Tuint32_t(0x03d0), DNOTACHAR,
 65088  	Tuint32_t(0x0398), Tuint32_t(0x03b8), Tuint32_t(0x03d1), Tuint32_t(0x03f4), DNOTACHAR,
 65089  	Tuint32_t(0x03a6), Tuint32_t(0x03c6), Tuint32_t(0x03d5), DNOTACHAR,
 65090  	Tuint32_t(0x03a0), Tuint32_t(0x03c0), Tuint32_t(0x03d6), DNOTACHAR,
 65091  	Tuint32_t(0x039a), Tuint32_t(0x03ba), Tuint32_t(0x03f0), DNOTACHAR,
 65092  	Tuint32_t(0x03a1), Tuint32_t(0x03c1), Tuint32_t(0x03f1), DNOTACHAR,
 65093  	Tuint32_t(0x0395), Tuint32_t(0x03b5), Tuint32_t(0x03f5), DNOTACHAR,
 65094  	Tuint32_t(0x0412), Tuint32_t(0x0432), Tuint32_t(0x1c80), DNOTACHAR,
 65095  	Tuint32_t(0x0414), Tuint32_t(0x0434), Tuint32_t(0x1c81), DNOTACHAR,
 65096  	Tuint32_t(0x041e), Tuint32_t(0x043e), Tuint32_t(0x1c82), DNOTACHAR,
 65097  	Tuint32_t(0x0421), Tuint32_t(0x0441), Tuint32_t(0x1c83), DNOTACHAR,
 65098  	Tuint32_t(0x0422), Tuint32_t(0x0442), Tuint32_t(0x1c84), Tuint32_t(0x1c85), DNOTACHAR,
 65099  	Tuint32_t(0x042a), Tuint32_t(0x044a), Tuint32_t(0x1c86), DNOTACHAR,
 65100  	Tuint32_t(0x0462), Tuint32_t(0x0463), Tuint32_t(0x1c87), DNOTACHAR,
 65101  	Tuint32_t(0x1e60), Tuint32_t(0x1e61), Tuint32_t(0x1e9b), DNOTACHAR,
 65102  	Tuint32_t(0x03a9), Tuint32_t(0x03c9), Tuint32_t(0x2126), DNOTACHAR,
 65103  	Tuint32_t(0x004b), Tuint32_t(0x006b), Tuint32_t(0x212a), DNOTACHAR,
 65104  	Tuint32_t(0x00c5), Tuint32_t(0x00e5), Tuint32_t(0x212b), DNOTACHAR,
 65105  	Tuint32_t(0x1c88), Tuint32_t(0xa64a), Tuint32_t(0xa64b), DNOTACHAR,
 65106  } /* pcre2_ucd.c:114:16 */
 65107  
 65108  // When #included in pcre2test, we don't need the table of digit sets, nor the
 65109  // the large main UCD tables.
 65110  
 65111  // This table lists the code points for the '9' characters in each set of
 65112  // decimal digits. It is used to ensure that all the digits in a script run come
 65113  // from the same set.
 65114  
 65115  var X_pcre2_ucd_digit_sets_8 = [67]Tuint32_t{
 65116  	Tuint32_t(66), // Number of subsequent values
 65117  	Tuint32_t(0x00039), Tuint32_t(0x00669), Tuint32_t(0x006f9), Tuint32_t(0x007c9), Tuint32_t(0x0096f), Tuint32_t(0x009ef), Tuint32_t(0x00a6f), Tuint32_t(0x00aef),
 65118  	Tuint32_t(0x00b6f), Tuint32_t(0x00bef), Tuint32_t(0x00c6f), Tuint32_t(0x00cef), Tuint32_t(0x00d6f), Tuint32_t(0x00def), Tuint32_t(0x00e59), Tuint32_t(0x00ed9),
 65119  	Tuint32_t(0x00f29), Tuint32_t(0x01049), Tuint32_t(0x01099), Tuint32_t(0x017e9), Tuint32_t(0x01819), Tuint32_t(0x0194f), Tuint32_t(0x019d9), Tuint32_t(0x01a89),
 65120  	Tuint32_t(0x01a99), Tuint32_t(0x01b59), Tuint32_t(0x01bb9), Tuint32_t(0x01c49), Tuint32_t(0x01c59), Tuint32_t(0x0a629), Tuint32_t(0x0a8d9), Tuint32_t(0x0a909),
 65121  	Tuint32_t(0x0a9d9), Tuint32_t(0x0a9f9), Tuint32_t(0x0aa59), Tuint32_t(0x0abf9), Tuint32_t(0x0ff19), Tuint32_t(0x104a9), Tuint32_t(0x10d39), Tuint32_t(0x1106f),
 65122  	Tuint32_t(0x110f9), Tuint32_t(0x1113f), Tuint32_t(0x111d9), Tuint32_t(0x112f9), Tuint32_t(0x11459), Tuint32_t(0x114d9), Tuint32_t(0x11659), Tuint32_t(0x116c9),
 65123  	Tuint32_t(0x11739), Tuint32_t(0x118e9), Tuint32_t(0x11959), Tuint32_t(0x11c59), Tuint32_t(0x11d59), Tuint32_t(0x11da9), Tuint32_t(0x16a69), Tuint32_t(0x16ac9),
 65124  	Tuint32_t(0x16b59), Tuint32_t(0x1d7d7), Tuint32_t(0x1d7e1), Tuint32_t(0x1d7eb), Tuint32_t(0x1d7f5), Tuint32_t(0x1d7ff), Tuint32_t(0x1e149), Tuint32_t(0x1e2f9),
 65125  	Tuint32_t(0x1e959), Tuint32_t(0x1fbf9),
 65126  } /* pcre2_ucd.c:154:16 */
 65127  
 65128  // This vector is a list of script bitsets for the Script Extension property.
 65129  // The number of 32-bit words in each bitset is #defined in pcre2_ucp.h as
 65130  // ucd_script_sets_item_size.
 65131  
 65132  var X_pcre2_ucd_script_sets_8 = [189]Tuint32_t{
 65133  	0x00000000, 0x00000000, 0x00000000,
 65134  	0x00000080, 0x00000000, 0x00000000,
 65135  	0x00000040, 0x00000000, 0x00000000,
 65136  	0x00000000, 0x00004000, 0x00000000,
 65137  	0x00000002, 0x00000000, 0x00000000,
 65138  	0x00800000, 0x00000000, 0x00000000,
 65139  	0x00000001, 0x00000000, 0x00000000,
 65140  	0x00000000, 0x00000000, 0x00000001,
 65141  	0x00000010, 0x00000000, 0x00000000,
 65142  	0x00000008, 0x00000004, 0x00000000,
 65143  	0x00000008, 0x40000000, 0x00000000,
 65144  	0x00000008, 0x00000040, 0x00000000,
 65145  	0x00000018, 0x00000000, 0x00000000,
 65146  	0x00000028, 0x00000000, 0x00000000,
 65147  	0x000000c0, 0x00000000, 0x00000000,
 65148  	0x00c00000, 0x00000000, 0x00000000,
 65149  	0x00000000, 0x00000102, 0x00000000,
 65150  	0x80000000, 0x00000001, 0x00000000,
 65151  	0x00000004, 0x00000008, 0x00000000,
 65152  	0x00000005, 0x00000000, 0x00000000,
 65153  	0x00000004, 0x00200000, 0x00000000,
 65154  	0x00000014, 0x00000000, 0x00000000,
 65155  	0x00000040, 0x00008000, 0x00000000,
 65156  	0x00000040, 0x00000000, 0x00000001,
 65157  	0x00000040, 0x00001000, 0x00000000,
 65158  	0x00000840, 0x00000000, 0x00000000,
 65159  	0x00020001, 0x00000000, 0x00000000,
 65160  	0x00000800, 0x00008000, 0x00000000,
 65161  	0x00000200, 0x00010000, 0x00000000,
 65162  	0x00000100, 0x02000000, 0x00000000,
 65163  	0x00800001, 0x00000000, 0x00000000,
 65164  	0x00300000, 0x00000000, 0x00000000,
 65165  	0x00002000, 0x00000000, 0x00000001,
 65166  	0x00080001, 0x00000000, 0x00000000,
 65167  	0x00000000, 0x00080000, 0x00000008,
 65168  	0x00080000, 0x00000020, 0x00000000,
 65169  	0x00000038, 0x00000000, 0x00000000,
 65170  	0x00000028, 0x00000000, 0x00000002,
 65171  	0x00000080, 0x00000810, 0x00000000,
 65172  	0x40010000, 0x00000800, 0x00000000,
 65173  	0x80000000, 0x00000001, 0x00000004,
 65174  	0x80000000, 0x00020001, 0x00000000,
 65175  	0x00002040, 0x00008000, 0x00000000,
 65176  	0x00000041, 0x00008000, 0x00000000,
 65177  	0x00b00000, 0x00000000, 0x00000000,
 65178  	0x00010001, 0x00000080, 0x00000000,
 65179  	0x000020c0, 0x00008000, 0x00000000,
 65180  	0x1e000000, 0x00000000, 0x00000000,
 65181  	0x00000040, 0x10040200, 0x00000000,
 65182  	0x00f40000, 0x00000000, 0x00000000,
 65183  	0x00000038, 0x40000040, 0x00000002,
 65184  	0x01f40000, 0x00000000, 0x00000000,
 65185  	0x00007c40, 0x00000000, 0x00000000,
 65186  	0x00000038, 0x44000040, 0x00000002,
 65187  	0x000034c0, 0x01008000, 0x00000001,
 65188  	0x00000018, 0xc4480400, 0x00000008,
 65189  	0x00000340, 0x11952200, 0x00000000,
 65190  	0x00007fc1, 0x01008000, 0x00000000,
 65191  	0x00007fc1, 0x01009000, 0x00000000,
 65192  	0x00002340, 0x11952200, 0x00000001,
 65193  	0x00006340, 0x11952200, 0x00000001,
 65194  	0x0000ffc0, 0x3984a010, 0x00000001,
 65195  	0x2000ffc0, 0x3984a010, 0x00000001,
 65196  } /* pcre2_ucd.c:171:16 */
 65197  
 65198  // This vector is a list of bitsets for Boolean properties. The number of
 65199  // 32_bit words in each bitset is #defined as ucd_boolprop_sets_item_size in
 65200  // pcre2_ucp.h.
 65201  
 65202  var X_pcre2_ucd_boolprop_sets_8 = [354]Tuint32_t{
 65203  	0x00000000, 0x00000000,
 65204  	0x00000001, 0x00000000,
 65205  	0x00000001, 0x00020040,
 65206  	0x00800001, 0x00020040,
 65207  	0x00800001, 0x00002820,
 65208  	0x00800001, 0x00000120,
 65209  	0x00830001, 0x00000020,
 65210  	0x00800001, 0x00000020,
 65211  	0x00800021, 0x00000120,
 65212  	0x00800011, 0x00000020,
 65213  	0x00800001, 0x00000028,
 65214  	0x00800001, 0x00002020,
 65215  	0x00801001, 0x00000020,
 65216  	0x00800021, 0x00002820,
 65217  	0x24830003, 0x00040000,
 65218  	0x00800021, 0x00002020,
 65219  	0x00800011, 0x00000028,
 65220  	0x648003c7, 0x000c8000,
 65221  	0x608003c5, 0x000c8000,
 65222  	0x00808021, 0x00000028,
 65223  	0x20800001, 0x00040000,
 65224  	0x00808021, 0x00000020,
 65225  	0x64800d47, 0x000c0004,
 65226  	0x60800d45, 0x000c0004,
 65227  	0x60800d45, 0x000c1004,
 65228  	0x00000000, 0x00020040,
 65229  	0x00800000, 0x00020000,
 65230  	0x00800000, 0x00000020,
 65231  	0x00808020, 0x00000000,
 65232  	0x00a10000, 0x00000020,
 65233  	0x60800044, 0x000c0004,
 65234  	0x00800010, 0x00000120,
 65235  	0x00800000, 0x00000028,
 65236  	0x00002020, 0x00000000,
 65237  	0x00800000, 0x00000000,
 65238  	0x60800dc4, 0x000c0004,
 65239  	0x20c08020, 0x00040000,
 65240  	0x608003c4, 0x000c8000,
 65241  	0x60800d44, 0x000c0004,
 65242  	0x60800d44, 0x000c1004,
 65243  	0x60804dc4, 0x000c0004,
 65244  	0x60800004, 0x000c0000,
 65245  	0x608007c4, 0x000c8000,
 65246  	0x60800bc4, 0x000c0000,
 65247  	0x60808064, 0x000c0004,
 65248  	0x60808064, 0x000c1004,
 65249  	0x60808024, 0x000c0000,
 65250  	0x60c08024, 0x000c0000,
 65251  	0x21008020, 0x00040000,
 65252  	0x21008de4, 0x00040004,
 65253  	0x21002020, 0x00040000,
 65254  	0x21000020, 0x00040000,
 65255  	0x60808064, 0x00000004,
 65256  	0x00800000, 0x00002000,
 65257  	0x20800020, 0x00042000,
 65258  	0x60800dc4, 0x000c000c,
 65259  	0x60800044, 0x000c8008,
 65260  	0x60800044, 0x000c8000,
 65261  	0x608003c4, 0x000c8008,
 65262  	0x00800000, 0x00000008,
 65263  	0x01000020, 0x00000000,
 65264  	0x00800020, 0x00000000,
 65265  	0x00800000, 0x00002800,
 65266  	0x00801000, 0x00000000,
 65267  	0x21008024, 0x00040000,
 65268  	0x21000024, 0x00040000,
 65269  	0x00000020, 0x00000080,
 65270  	0x00002028, 0x00000000,
 65271  	0x60c00024, 0x000c0000,
 65272  	0x20800000, 0x00040000,
 65273  	0x60804004, 0x000c0000,
 65274  	0x60800024, 0x000c0000,
 65275  	0x20800004, 0x00040000,
 65276  	0x23008020, 0x00040000,
 65277  	0x21000004, 0x00040000,
 65278  	0x21408020, 0x00040000,
 65279  	0x60800004, 0x00040000,
 65280  	0x23000024, 0x00040000,
 65281  	0x60800004, 0x000c0002,
 65282  	0x00800010, 0x00000000,
 65283  	0x20808000, 0x00040000,
 65284  	0x21004024, 0x00040000,
 65285  	0x20808004, 0x00040000,
 65286  	0x60800944, 0x000c0004,
 65287  	0x60802004, 0x000c0000,
 65288  	0x60800344, 0x000c8000,
 65289  	0x22808000, 0x00040000,
 65290  	0x22800000, 0x00040000,
 65291  	0x00c00000, 0x00000000,
 65292  	0x21002020, 0x00050000,
 65293  	0x61000024, 0x000c0000,
 65294  	0x23000020, 0x00040000,
 65295  	0x01008020, 0x00000000,
 65296  	0x21408024, 0x00040000,
 65297  	0x00808000, 0x00000000,
 65298  	0x60800064, 0x000c0004,
 65299  	0x60800044, 0x000c1004,
 65300  	0x60800064, 0x000c1004,
 65301  	0x01002020, 0x00000001,
 65302  	0x00022020, 0x00000001,
 65303  	0x00002028, 0x00000040,
 65304  	0x00801000, 0x00000020,
 65305  	0x00800020, 0x00000120,
 65306  	0x00800000, 0x00000120,
 65307  	0x00800020, 0x00000020,
 65308  	0x00a10000, 0x00002820,
 65309  	0x00800000, 0x00002820,
 65310  	0x20800000, 0x00040008,
 65311  	0x00800010, 0x00000020,
 65312  	0x00002020, 0x00000008,
 65313  	0x00002000, 0x00000000,
 65314  	0x00006020, 0x00000000,
 65315  	0x00801000, 0x00000008,
 65316  	0x00800010, 0x00000008,
 65317  	0x21000020, 0x00040008,
 65318  	0x01020020, 0x00000000,
 65319  	0x60800044, 0x000c000c,
 65320  	0x60800000, 0x000c0008,
 65321  	0x00a10000, 0x00000000,
 65322  	0x60800000, 0x000c0000,
 65323  	0x60800004, 0x000c0008,
 65324  	0x60a10044, 0x000c0004,
 65325  	0x60800044, 0x000c100c,
 65326  	0x00a10000, 0x00000028,
 65327  	0x00800010, 0x00000028,
 65328  	0x00801000, 0x00000028,
 65329  	0x00b10000, 0x00000020,
 65330  	0x00804010, 0x00000020,
 65331  	0x00a00000, 0x00000020,
 65332  	0x00000000, 0x00000020,
 65333  	0x008003c4, 0x00008000,
 65334  	0x00a103c4, 0x00008000,
 65335  	0x00800d44, 0x00000004,
 65336  	0x00b10000, 0x00000028,
 65337  	0x00a00000, 0x00000028,
 65338  	0x00a90000, 0x00000020,
 65339  	0x00b90000, 0x00000020,
 65340  	0x00808024, 0x00000020,
 65341  	0x00800000, 0x00002020,
 65342  	0x00800000, 0x00000200,
 65343  	0x08800000, 0x00000000,
 65344  	0x10800000, 0x00000000,
 65345  	0xe0800004, 0x000c0000,
 65346  	0x21008000, 0x00040000,
 65347  	0x00a11000, 0x00000020,
 65348  	0x60808020, 0x00000000,
 65349  	0xe0800004, 0x000c4000,
 65350  	0x60808004, 0x000c0000,
 65351  	0x60800004, 0x00000000,
 65352  	0x00000000, 0x00000010,
 65353  	0x21022020, 0x00050000,
 65354  	0x00800000, 0x00000100,
 65355  	0x00800020, 0x00002800,
 65356  	0x00800020, 0x00002000,
 65357  	0x00800020, 0x00000100,
 65358  	0x24800000, 0x00040000,
 65359  	0x648003c4, 0x000c8000,
 65360  	0x00808020, 0x00000008,
 65361  	0x64800d44, 0x000c0004,
 65362  	0x00800010, 0x00000100,
 65363  	0x61008024, 0x00040000,
 65364  	0x00000020, 0x00000000,
 65365  	0x60c00004, 0x000c0000,
 65366  	0x21400020, 0x00040000,
 65367  	0xa1000020, 0x00040000,
 65368  	0x21000000, 0x00040000,
 65369  	0x00a00000, 0x00000000,
 65370  	0x00b10000, 0x00000000,
 65371  	0x00200000, 0x00000000,
 65372  	0x00800044, 0x00008000,
 65373  	0x00a10044, 0x00008000,
 65374  	0x00930000, 0x00000400,
 65375  	0x00b90000, 0x00000000,
 65376  	0x00a90000, 0x00000000,
 65377  	0x00970020, 0x00000000,
 65378  	0x00b30000, 0x00000000,
 65379  	0x01022020, 0x00000000,
 65380  } /* pcre2_ucd.c:241:16 */
 65381  
 65382  // These are the main two-stage UCD tables. The fields in each record are:
 65383  // script (8 bits), character type (8 bits), grapheme break property (8 bits),
 65384  // offset to multichar other cases or zero (8 bits), offset to other case or zero
 65385  // (32 bits, signed), bidi class (5 bits) and script extension (11 bits) packed
 65386  // into a 16-bit field, and offset in binary properties table (16 bits).
 65387  
 65388  var X_pcre2_ucd_records_8 = [1409]Tucd_record{ // 16908 bytes, record size 12
 65389  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(2)},                                                                         //   0
 65390  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(4)},                                                                        //   1
 65391  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(1), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                         //   2
 65392  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(4)},                                                                        //   3
 65393  	{Fscript: Tuint8_t(69), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                                               //   4
 65394  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(2)},                                                                         //   5
 65395  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(2)},                                                                        //   6
 65396  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(6)},                                              //   7
 65397  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(8)},                                              //   8
 65398  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(10)},                                             //   9
 65399  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(12)},                                             //  10
 65400  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  11
 65401  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  12
 65402  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(14)},                                             //  13
 65403  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(16)},                                             //  14
 65404  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  15
 65405  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  16
 65406  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(12)},                                             //  17
 65407  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(20)},                                             //  18
 65408  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(22)},                                              //  19
 65409  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(24)},                                             //  20
 65410  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(26)},                                              //  21
 65411  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(14)},                                              //  22
 65412  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(28)},                                             //  23
 65413  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(30)},                                              //  24
 65414  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(22)},                                             //  25
 65415  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(32)},                                             //  26
 65416  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(20)},                                             //  27
 65417  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(34)},                                                    //  28
 65418  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                                                    //  29
 65419  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                           //  30
 65420  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                             //  31
 65421  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(38)},                                             //  32
 65422  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(40)},                                             //  33
 65423  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(42)},                                             //  34
 65424  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(44)},                                                   //  35
 65425  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                                                   //  36
 65426  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(48)},                                                   //  37
 65427  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                          //  38
 65428  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                            //  39
 65429  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144)},                                                                                                //  40
 65430  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                                                        //  41
 65431  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(52)},                                              //  42
 65432  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  43
 65433  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  44
 65434  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  45
 65435  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             //  46
 65436  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(58)},                                             //  47
 65437  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  48
 65438  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  49
 65439  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             //  50
 65440  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                //  51
 65441  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  52
 65442  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             //  53
 65443  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(68)},                                             //  54
 65444  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},    //  55
 65445  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(72)},                                             //  56
 65446  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  57
 65447  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             //  58
 65448  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  59
 65449  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                           //  60
 65450  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                  //  61
 65451  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  62
 65452  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                          //  63
 65453  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  64
 65454  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                     //  65
 65455  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  66
 65456  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                    //  67
 65457  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                                     //  68
 65458  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                                     //  69
 65459  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  70
 65460  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(80)},                                                                     //  71
 65461  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  //  72
 65462  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -268, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                           //  73
 65463  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  74
 65464  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  75
 65465  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  76
 65466  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  77
 65467  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  78
 65468  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  79
 65469  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  80
 65470  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  81
 65471  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  82
 65472  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  83
 65473  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  84
 65474  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  85
 65475  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  86
 65476  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  87
 65477  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  88
 65478  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  89
 65479  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  90
 65480  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  91
 65481  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                     //  92
 65482  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  93
 65483  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                              //  94
 65484  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              //  95
 65485  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             //  96
 65486  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                              //  97
 65487  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              //  98
 65488  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             //  99
 65489  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                             // 100
 65490  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                             // 101
 65491  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 102
 65492  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 103
 65493  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                             // 104
 65494  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                             // 105
 65495  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 106
 65496  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 107
 65497  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 108
 65498  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 109
 65499  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 110
 65500  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 111
 65501  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 112
 65502  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 113
 65503  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 114
 65504  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 115
 65505  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 116
 65506  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 117
 65507  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 118
 65508  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 119
 65509  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 120
 65510  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 121
 65511  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 122
 65512  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 123
 65513  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 124
 65514  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 125
 65515  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 126
 65516  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 127
 65517  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 128
 65518  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 129
 65519  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                  // 130
 65520  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 131
 65521  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 132
 65522  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 133
 65523  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 134
 65524  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 135
 65525  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 136
 65526  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 137
 65527  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 138
 65528  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 139
 65529  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 140
 65530  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 141
 65531  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 142
 65532  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 143
 65533  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 144
 65534  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                 // 145
 65535  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 146
 65536  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                                                     // 147
 65537  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(90)},                                                                     // 148
 65538  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                              // 149
 65539  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 150
 65540  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                              // 151
 65541  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 152
 65542  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             // 153
 65543  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 154
 65544  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(96)},                                              // 155
 65545  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fcaseset: Tuint8_t(21), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(98)},    // 156
 65546  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 157
 65547  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 158
 65548  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26642), Fbprops: Tuint16_t(102)},                                             // 159
 65549  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 160
 65550  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 161
 65551  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                              // 162
 65552  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 163
 65553  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(104)},                                              // 164
 65554  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 165
 65555  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 166
 65556  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 167
 65557  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 168
 65558  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(108)},                                            // 169
 65559  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 170
 65560  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 171
 65561  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 172
 65562  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                               // 173
 65563  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 174
 65564  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 175
 65565  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 176
 65566  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 177
 65567  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 178
 65568  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 179
 65569  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 180
 65570  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 181
 65571  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 182
 65572  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 183
 65573  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 184
 65574  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 185
 65575  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 186
 65576  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 187
 65577  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 188
 65578  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 189
 65579  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 190
 65580  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 191
 65581  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},    // 192
 65582  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 193
 65583  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: -775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},    // 194
 65584  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 195
 65585  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 196
 65586  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},       // 197
 65587  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 198
 65588  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 199
 65589  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 200
 65590  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 201
 65591  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 202
 65592  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 203
 65593  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -30, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 204
 65594  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -25, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 205
 65595  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                              // 206
 65596  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(114)},                                              // 207
 65597  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 208
 65598  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -22, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},     // 209
 65599  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 210
 65600  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 211
 65601  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 212
 65602  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -54, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 213
 65603  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 214
 65604  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                               // 215
 65605  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                            // 216
 65606  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -60, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(116)},    // 217
 65607  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 218
 65608  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 219
 65609  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 220
 65610  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 221
 65611  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 222
 65612  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 223
 65613  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 224
 65614  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 225
 65615  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 226
 65616  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 227
 65617  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 228
 65618  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 229
 65619  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 230
 65620  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 231
 65621  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 232
 65622  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 233
 65623  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 234
 65624  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 235
 65625  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 236
 65626  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 237
 65627  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 238
 65628  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                             // 239
 65629  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 240
 65630  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 241
 65631  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},       // 242
 65632  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},      // 243
 65633  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 244
 65634  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26684), Fbprops: Tuint16_t(96)},                                               // 245
 65635  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26678), Fbprops: Tuint16_t(96)},                                               // 246
 65636  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26681), Fbprops: Tuint16_t(96)},                                              // 247
 65637  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                              // 248
 65638  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 249
 65639  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 250
 65640  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 251
 65641  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 252
 65642  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 253
 65643  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(122)},                                            // 254
 65644  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 255
 65645  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 256
 65646  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                              // 257
 65647  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 258
 65648  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 259
 65649  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 260
 65650  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 261
 65651  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816)},                                                                      // 262
 65652  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 263
 65653  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 264
 65654  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 265
 65655  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 266
 65656  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 267
 65657  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 268
 65658  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 269
 65659  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 270
 65660  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(122)},                                            // 271
 65661  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                                // 272
 65662  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                               // 273
 65663  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 274
 65664  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(118)},                                                                                   // 275
 65665  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 276
 65666  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 277
 65667  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8342), Fbprops: Tuint16_t(106)},                                             // 278
 65668  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 279
 65669  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 280
 65670  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 281
 65671  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(150), Fbprops: Tuint16_t(106)},                                              // 282
 65672  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(108), Fbprops: Tuint16_t(134)},                                                 // 283
 65673  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 284
 65674  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(159), Fbprops: Tuint16_t(124)},                                              // 285
 65675  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 286
 65676  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(165), Fbprops: Tuint16_t(136)},                                               // 287
 65677  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(128)},                                             // 288
 65678  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(130)},                                             // 289
 65679  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 290
 65680  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 291
 65681  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2159), Fbprops: Tuint16_t(138)},                                              // 292
 65682  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 293
 65683  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(140)},                                                                                    // 294
 65684  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(30), Fbprops: Tuint16_t(124)},                                                // 295
 65685  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(92)},                                                                                     // 296
 65686  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                             // 297
 65687  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 298
 65688  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 299
 65689  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(106)},                                                                                   // 300
 65690  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 301
 65691  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12)},                                                                                                            // 302
 65692  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fbprops: Tuint16_t(132)},                                                                                     // 303
 65693  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 304
 65694  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 305
 65695  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 306
 65696  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 307
 65697  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 308
 65698  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 309
 65699  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 310
 65700  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 311
 65701  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 312
 65702  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(92)},                                              // 313
 65703  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 314
 65704  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 315
 65705  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 316
 65706  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 317
 65707  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(136)},                                             // 318
 65708  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 319
 65709  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 320
 65710  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 321
 65711  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 322
 65712  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 323
 65713  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                            // 324
 65714  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 325
 65715  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 326
 65716  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                           // 327
 65717  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 328
 65718  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 329
 65719  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 330
 65720  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(122)},                                                                                   // 331
 65721  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 332
 65722  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 333
 65723  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 334
 65724  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 335
 65725  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 336
 65726  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 337
 65727  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26798), Fbprops: Tuint16_t(96)},                                              // 338
 65728  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26795), Fbprops: Tuint16_t(96)},                                              // 339
 65729  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18615), Fbprops: Tuint16_t(124)},                                            // 340
 65730  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18618), Fbprops: Tuint16_t(124)},                                            // 341
 65731  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18576), Fbprops: Tuint16_t(138)},                                             // 342
 65732  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 343
 65733  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                               // 344
 65734  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 345
 65735  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 346
 65736  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 347
 65737  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 348
 65738  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                              // 349
 65739  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 350
 65740  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18546), Fbprops: Tuint16_t(138)},                                             // 351
 65741  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 352
 65742  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 353
 65743  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 354
 65744  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 355
 65745  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 356
 65746  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 357
 65747  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 358
 65748  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 359
 65749  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 360
 65750  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 361
 65751  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18519), Fbprops: Tuint16_t(138)},                                             // 362
 65752  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 363
 65753  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 364
 65754  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 365
 65755  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 366
 65756  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 367
 65757  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 368
 65758  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18516), Fbprops: Tuint16_t(138)},                                             // 369
 65759  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 370
 65760  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 371
 65761  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 372
 65762  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 373
 65763  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 374
 65764  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 375
 65765  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 376
 65766  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 377
 65767  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 378
 65768  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 379
 65769  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 380
 65770  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 381
 65771  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 382
 65772  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 383
 65773  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 384
 65774  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 385
 65775  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 386
 65776  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(138)},                                            // 387
 65777  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(68)},                                             // 388
 65778  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28753), Fbprops: Tuint16_t(68)},                                             // 389
 65779  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 390
 65780  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 391
 65781  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 392
 65782  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 393
 65783  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 394
 65784  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 395
 65785  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 396
 65786  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 397
 65787  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 398
 65788  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 399
 65789  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 400
 65790  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 401
 65791  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 402
 65792  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 403
 65793  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 404
 65794  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 405
 65795  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 406
 65796  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                             // 407
 65797  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 408
 65798  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 409
 65799  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18528), Fbprops: Tuint16_t(138)},                                            // 410
 65800  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 411
 65801  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 412
 65802  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 413
 65803  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 414
 65804  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 415
 65805  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 416
 65806  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 417
 65807  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 418
 65808  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 419
 65809  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 420
 65810  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 421
 65811  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 422
 65812  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 423
 65813  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 424
 65814  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 425
 65815  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 426
 65816  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 427
 65817  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 428
 65818  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 429
 65819  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(154)},                                             // 430
 65820  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 431
 65821  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 432
 65822  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 433
 65823  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 434
 65824  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 435
 65825  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 436
 65826  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 437
 65827  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 438
 65828  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 439
 65829  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 440
 65830  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 441
 65831  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 442
 65832  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 443
 65833  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 444
 65834  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 445
 65835  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 446
 65836  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 447
 65837  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 448
 65838  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 449
 65839  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 450
 65840  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 451
 65841  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 452
 65842  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 453
 65843  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 454
 65844  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 455
 65845  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 456
 65846  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(162)},                                             // 457
 65847  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 458
 65848  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 459
 65849  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 460
 65850  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 461
 65851  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 462
 65852  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 463
 65853  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 464
 65854  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 465
 65855  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 466
 65856  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18549), Fbprops: Tuint16_t(138)},                                            // 467
 65857  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 468
 65858  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 469
 65859  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                            // 470
 65860  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 471
 65861  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 472
 65862  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 473
 65863  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                           // 474
 65864  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(166)},                          // 475
 65865  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18510), Fbprops: Tuint16_t(68)},                                             // 476
 65866  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 477
 65867  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 478
 65868  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 479
 65869  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 480
 65870  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 481
 65871  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(8), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 482
 65872  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 483
 65873  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 484
 65874  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 485
 65875  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 486
 65876  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 487
 65877  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 488
 65878  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 489
 65879  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 490
 65880  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)},                         // 491
 65881  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)},                             // 492
 65882  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                             // 493
 65883  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 494
 65884  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 495
 65885  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 496
 65886  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 497
 65887  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 498
 65888  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 499
 65889  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 500
 65890  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 501
 65891  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 502
 65892  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 503
 65893  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 504
 65894  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 505
 65895  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 506
 65896  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 507
 65897  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 508
 65898  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 509
 65899  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 510
 65900  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                             // 511
 65901  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18573), Fbprops: Tuint16_t(124)},                                            // 512
 65902  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 513
 65903  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 514
 65904  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 515
 65905  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 516
 65906  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 517
 65907  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(140)},                                             // 518
 65908  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 519
 65909  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 520
 65910  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 521
 65911  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 522
 65912  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 523
 65913  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 524
 65914  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 525
 65915  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 526
 65916  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 527
 65917  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 528
 65918  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 529
 65919  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 530
 65920  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(106)},                                            // 531
 65921  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(124)},                                            // 532
 65922  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 533
 65923  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 534
 65924  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 535
 65925  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(176)},                                            // 536
 65926  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 537
 65927  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                // 538
 65928  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 539
 65929  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 540
 65930  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 541
 65931  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(180)},                                             // 542
 65932  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 543
 65933  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 544
 65934  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 545
 65935  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 546
 65936  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 547
 65937  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 548
 65938  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 549
 65939  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 550
 65940  	{Fscript: Tuint8_t(30), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 551
 65941  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 552
 65942  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 553
 65943  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 554
 65944  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 555
 65945  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 556
 65946  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 557
 65947  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 558
 65948  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 559
 65949  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 560
 65950  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 561
 65951  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 562
 65952  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 563
 65953  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 564
 65954  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 565
 65955  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 566
 65956  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 567
 65957  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 568
 65958  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 569
 65959  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 570
 65960  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 571
 65961  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(184)},                                             // 572
 65962  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 573
 65963  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 574
 65964  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 575
 65965  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 576
 65966  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 577
 65967  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 578
 65968  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 579
 65969  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 580
 65970  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 581
 65971  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 582
 65972  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 583
 65973  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 584
 65974  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 585
 65975  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 586
 65976  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 587
 65977  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 588
 65978  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 589
 65979  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 590
 65980  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 591
 65981  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 592
 65982  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 593
 65983  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 594
 65984  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                            // 595
 65985  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 596
 65986  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 597
 65987  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 598
 65988  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 599
 65989  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(186)},                                             // 600
 65990  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 601
 65991  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 602
 65992  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 603
 65993  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 604
 65994  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 605
 65995  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 606
 65996  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 607
 65997  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 608
 65998  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 609
 65999  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -6222, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 610
 66000  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -6221, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 611
 66001  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -6212, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 612
 66002  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 613
 66003  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 614
 66004  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 615
 66005  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -6204, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 616
 66006  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -6180, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 617
 66007  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},  // 618
 66008  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                          // 619
 66009  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 620
 66010  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26762), Fbprops: Tuint16_t(96)},                                              // 621
 66011  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26630), Fbprops: Tuint16_t(96)},                                              // 622
 66012  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(188)},                                            // 623
 66013  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                              // 624
 66014  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26696), Fbprops: Tuint16_t(96)},                                              // 625
 66015  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26780), Fbprops: Tuint16_t(96)},                                              // 626
 66016  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(160)},                                             // 627
 66017  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18501), Fbprops: Tuint16_t(82)},                                              // 628
 66018  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(82)},                                              // 629
 66019  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18438), Fbprops: Tuint16_t(82)},                                              // 630
 66020  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18594), Fbprops: Tuint16_t(82)},                                              // 631
 66021  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(82)},                                              // 632
 66022  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26750), Fbprops: Tuint16_t(96)},                                              // 633
 66023  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18435), Fbprops: Tuint16_t(160)},                                             // 634
 66024  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26690), Fbprops: Tuint16_t(96)},                                              // 635
 66025  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18453), Fbprops: Tuint16_t(82)},                                              // 636
 66026  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 637
 66027  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 638
 66028  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 639
 66029  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 640
 66030  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 641
 66031  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 642
 66032  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(192)},                                                                    // 643
 66033  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                                                    // 644
 66034  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(194)},                                                                    // 645
 66035  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 646
 66036  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(102)},                                             // 647
 66037  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26687), Fbprops: Tuint16_t(96)},                                              // 648
 66038  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26648), Fbprops: Tuint16_t(96)},                                              // 649
 66039  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 650
 66040  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 651
 66041  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                                     // 652
 66042  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -58, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                           // 653
 66043  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 654
 66044  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                               // 655
 66045  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 656
 66046  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 657
 66047  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 658
 66048  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 659
 66049  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 660
 66050  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 661
 66051  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 662
 66052  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                               // 663
 66053  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              // 664
 66054  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                               // 665
 66055  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                               // 666
 66056  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 667
 66057  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              // 668
 66058  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -7173, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},   // 669
 66059  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 670
 66060  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 671
 66061  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 672
 66062  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 673
 66063  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 674
 66064  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 675
 66065  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(196)},                                               // 676
 66066  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(13), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(198)},                                              // 677
 66067  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(200)},                                              // 678
 66068  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(200)},                                              // 679
 66069  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 680
 66070  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 681
 66071  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 682
 66072  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 683
 66073  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 684
 66074  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 685
 66075  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 686
 66076  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(208)},                                            // 687
 66077  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(27), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(50)},                                              // 688
 66078  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(28), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                               // 689
 66079  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(20480), Fbprops: Tuint16_t(134)},                                              // 690
 66080  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(36864), Fbprops: Tuint16_t(134)},                                              // 691
 66081  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(30720), Fbprops: Tuint16_t(134)},                                              // 692
 66082  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(24576), Fbprops: Tuint16_t(134)},                                              // 693
 66083  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(40960), Fbprops: Tuint16_t(134)},                                              // 694
 66084  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8291), Fbprops: Tuint16_t(52)},                                              // 695
 66085  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             // 696
 66086  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             // 697
 66087  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(210)},                                            // 698
 66088  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(212)},                                            // 699
 66089  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(138)},                                            // 700
 66090  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(214)},                                            // 701
 66091  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(64)},                                              // 702
 66092  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 703
 66093  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 704
 66094  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 705
 66095  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(218)},                                               // 706
 66096  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(220)},                                               // 707
 66097  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(22528), Fbprops: Tuint16_t(134)},                                              // 708
 66098  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(38912), Fbprops: Tuint16_t(134)},                                              // 709
 66099  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(16384), Fbprops: Tuint16_t(134)},                                              // 710
 66100  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(32768), Fbprops: Tuint16_t(134)},                                              // 711
 66101  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(222)},                                               // 712
 66102  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 713
 66103  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 714
 66104  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 715
 66105  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 716
 66106  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 717
 66107  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336)},                                                                      // 718
 66108  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(228)},                                             // 719
 66109  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                             // 720
 66110  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(230)},                                             // 721
 66111  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26753), Fbprops: Tuint16_t(102)},                                             // 722
 66112  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 723
 66113  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                             // 724
 66114  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(232)},                                             // 725
 66115  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(234)},                                            // 726
 66116  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(236)},                                            // 727
 66117  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -7517, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},   // 728
 66118  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 729
 66119  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -8383, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                        // 730
 66120  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -8262, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                        // 731
 66121  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(238)},                                            // 732
 66122  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 733
 66123  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(240)},                                             // 734
 66124  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(242)},                                             // 735
 66125  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(244)},                                             // 736
 66126  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 737
 66127  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: 16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 738
 66128  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: -16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 739
 66129  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                    // 740
 66130  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 741
 66131  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 742
 66132  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 743
 66133  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 744
 66134  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(250)},                                            // 745
 66135  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 746
 66136  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 747
 66137  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(252)},                                            // 748
 66138  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 749
 66139  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 750
 66140  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 751
 66141  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(256)},                                            // 752
 66142  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(258)},                                             // 753
 66143  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(260)},                           // 754
 66144  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(262)},                           // 755
 66145  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: -26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(264)},                          // 756
 66146  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(266)},                                            // 757
 66147  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 758
 66148  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(270)},                                            // 759
 66149  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 760
 66150  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(256)},                                            // 761
 66151  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(272)},                                            // 762
 66152  	{Fscript: Tuint8_t(88), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 763
 66153  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 764
 66154  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 765
 66155  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 766
 66156  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 767
 66157  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 768
 66158  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 769
 66159  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 770
 66160  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 771
 66161  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 772
 66162  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 773
 66163  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 774
 66164  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 775
 66165  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 776
 66166  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 777
 66167  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 778
 66168  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 779
 66169  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 780
 66170  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 781
 66171  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                          // 782
 66172  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 783
 66173  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 784
 66174  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 785
 66175  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 786
 66176  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 787
 66177  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 788
 66178  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 789
 66179  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(274)},                                             // 790
 66180  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(276)},                                            // 791
 66181  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28726), Fbprops: Tuint16_t(54)},                                             // 792
 66182  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(278)},                                            // 793
 66183  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(280)},                                            // 794
 66184  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(282)},                                            // 795
 66185  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(276)},                                            // 796
 66186  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(212)},                                            // 797
 66187  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 798
 66188  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 799
 66189  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(284)},                                             // 800
 66190  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 801
 66191  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 802
 66192  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 803
 66193  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 804
 66194  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 805
 66195  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 806
 66196  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(202)},                                            // 807
 66197  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 808
 66198  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 809
 66199  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26669), Fbprops: Tuint16_t(96)},                                              // 810
 66200  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 811
 66201  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(288)},                                            // 812
 66202  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(136)},                                             // 813
 66203  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(68)},                                             // 814
 66204  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 815
 66205  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18564), Fbprops: Tuint16_t(82)},                                              // 816
 66206  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28804), Fbprops: Tuint16_t(236)},                                            // 817
 66207  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28687), Fbprops: Tuint16_t(68)},                                             // 818
 66208  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 819
 66209  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26717), Fbprops: Tuint16_t(96)},                                              // 820
 66210  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(290)},                                            // 821
 66211  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 822
 66212  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(126)},                                            // 823
 66213  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 824
 66214  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(68)},                                             // 825
 66215  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(94)},                                              // 826
 66216  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 827
 66217  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 828
 66218  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 829
 66219  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                             // 830
 66220  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 831
 66221  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 832
 66222  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 833
 66223  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 834
 66224  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 835
 66225  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(236)},                                            // 836
 66226  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 837
 66227  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(292)},                                             // 838
 66228  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 839
 66229  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 840
 66230  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 841
 66231  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 842
 66232  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 843
 66233  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 844
 66234  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 845
 66235  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 846
 66236  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 847
 66237  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 848
 66238  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 849
 66239  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 850
 66240  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 851
 66241  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: -35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 852
 66242  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 853
 66243  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 854
 66244  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 855
 66245  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                               // 856
 66246  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 857
 66247  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 858
 66248  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                            // 859
 66249  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 860
 66250  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 861
 66251  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 862
 66252  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 863
 66253  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28762), Fbprops: Tuint16_t(56)},                                             // 864
 66254  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 865
 66255  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(56)},                                             // 866
 66256  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 867
 66257  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    // 868
 66258  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 869
 66259  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 870
 66260  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 871
 66261  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 872
 66262  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 873
 66263  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 874
 66264  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 875
 66265  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 876
 66266  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 877
 66267  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 878
 66268  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 879
 66269  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                                                    // 880
 66270  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 881
 66271  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 882
 66272  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 883
 66273  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 884
 66274  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 885
 66275  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18612), Fbprops: Tuint16_t(68)},                                             // 886
 66276  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18609), Fbprops: Tuint16_t(68)},                                             // 887
 66277  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18600), Fbprops: Tuint16_t(68)},                                             // 888
 66278  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 889
 66279  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 890
 66280  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 891
 66281  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 892
 66282  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 893
 66283  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 894
 66284  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 895
 66285  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 896
 66286  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 897
 66287  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 898
 66288  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 899
 66289  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                               // 900
 66290  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18507), Fbprops: Tuint16_t(82)},                                               // 901
 66291  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 902
 66292  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 903
 66293  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 904
 66294  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 905
 66295  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18567), Fbprops: Tuint16_t(188)},                                            // 906
 66296  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 907
 66297  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 908
 66298  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 909
 66299  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 910
 66300  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 911
 66301  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 912
 66302  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 913
 66303  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 914
 66304  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 915
 66305  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 916
 66306  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 917
 66307  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 918
 66308  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 919
 66309  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 920
 66310  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18480), Fbprops: Tuint16_t(136)},                                             // 921
 66311  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 922
 66312  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 923
 66313  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 924
 66314  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 925
 66315  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 926
 66316  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 927
 66317  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 928
 66318  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 929
 66319  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 930
 66320  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 931
 66321  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                            // 932
 66322  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 933
 66323  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(294)},                                            // 934
 66324  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 935
 66325  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 936
 66326  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 937
 66327  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 938
 66328  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 939
 66329  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 940
 66330  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 941
 66331  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 942
 66332  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 943
 66333  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 944
 66334  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                                                     // 945
 66335  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                         // 946
 66336  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                            // 947
 66337  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 948
 66338  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(9), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 949
 66339  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(10), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 950
 66340  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(4), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 951
 66341  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(3), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 952
 66342  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                             // 953
 66343  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 954
 66344  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(296)},                                                                                    // 955
 66345  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 956
 66346  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 957
 66347  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(298)},                                              // 958
 66348  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(39), Fbprops: Tuint16_t(82)},                                                  // 959
 66349  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28711), Fbprops: Tuint16_t(68)},                                              // 960
 66350  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 961
 66351  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(300)},                                             // 962
 66352  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 963
 66353  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(122)},                                            // 964
 66354  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 965
 66355  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 966
 66356  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 967
 66357  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 968
 66358  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 969
 66359  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(106)},                                             // 970
 66360  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(304)},                                             // 971
 66361  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(306)},                                             // 972
 66362  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 973
 66363  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 974
 66364  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 975
 66365  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 976
 66366  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 977
 66367  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 978
 66368  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 979
 66369  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 980
 66370  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(308)},                                            // 981
 66371  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(126)},                                            // 982
 66372  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(68)},                                              // 983
 66373  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(310)},                                            // 984
 66374  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(312)},                                                   // 985
 66375  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(314)},                                            // 986
 66376  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(316)},                                                  // 987
 66377  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(124)},                                            // 988
 66378  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 989
 66379  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 990
 66380  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(106)},                                            // 991
 66381  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(320)},                                              // 992
 66382  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(322)},                                              // 993
 66383  	{Fscript: Tuint8_t(31), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 994
 66384  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18552), Fbprops: Tuint16_t(68)},                                             // 995
 66385  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28792), Fbprops: Tuint16_t(68)},                                             // 996
 66386  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 997
 66387  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18555), Fbprops: Tuint16_t(68)},                                             // 998
 66388  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 999
 66389  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(82)},                                              // 1000
 66390  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1001
 66391  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1002
 66392  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 1003
 66393  	{Fscript: Tuint8_t(102), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1004
 66394  	{Fscript: Tuint8_t(103), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1005
 66395  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26651), Fbprops: Tuint16_t(96)},                                              // 1006
 66396  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10267), Fbprops: Tuint16_t(68)},                                             // 1007
 66397  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1008
 66398  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1009
 66399  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1010
 66400  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1011
 66401  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1012
 66402  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1013
 66403  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1014
 66404  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1015
 66405  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1016
 66406  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1017
 66407  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1018
 66408  	{Fscript: Tuint8_t(83), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 1019
 66409  	{Fscript: Tuint8_t(83), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 1020
 66410  	{Fscript: Tuint8_t(86), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1021
 66411  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1022
 66412  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1023
 66413  	{Fscript: Tuint8_t(145), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1024
 66414  	{Fscript: Tuint8_t(145), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1025
 66415  	{Fscript: Tuint8_t(127), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1026
 66416  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1027
 66417  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1028
 66418  	{Fscript: Tuint8_t(161), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1029
 66419  	{Fscript: Tuint8_t(161), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1030
 66420  	{Fscript: Tuint8_t(49), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1031
 66421  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                                                     // 1032
 66422  	{Fscript: Tuint8_t(32), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1033
 66423  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1034
 66424  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 1035
 66425  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1036
 66426  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1037
 66427  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1038
 66428  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1039
 66429  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1040
 66430  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1041
 66431  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1042
 66432  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1043
 66433  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1044
 66434  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1045
 66435  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 1046
 66436  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1047
 66437  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1048
 66438  	{Fscript: Tuint8_t(122), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1049
 66439  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1050
 66440  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1051
 66441  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1052
 66442  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1053
 66443  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1054
 66444  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 1055
 66445  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1056
 66446  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1057
 66447  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1058
 66448  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1059
 66449  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1060
 66450  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1061
 66451  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1062
 66452  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1063
 66453  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1064
 66454  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1065
 66455  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1066
 66456  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1067
 66457  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1068
 66458  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34918), Fbprops: Tuint16_t(106)},                                            // 1069
 66459  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1070
 66460  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1071
 66461  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1072
 66462  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                           // 1073
 66463  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1074
 66464  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1075
 66465  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1076
 66466  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1077
 66467  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1078
 66468  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1079
 66469  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1080
 66470  	{Fscript: Tuint8_t(118), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1081
 66471  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)},                            // 1082
 66472  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)},                           // 1083
 66473  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1084
 66474  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1085
 66475  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(294)},                                                                                   // 1086
 66476  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 1087
 66477  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(138)},                                             // 1088
 66478  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 1089
 66479  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1090
 66480  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1091
 66481  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 1092
 66482  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1093
 66483  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1094
 66484  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1095
 66485  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1096
 66486  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1097
 66487  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                  // 1098
 66488  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1099
 66489  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1100
 66490  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1101
 66491  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1102
 66492  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1103
 66493  	{Fscript: Tuint8_t(153), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1104
 66494  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1105
 66495  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1106
 66496  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1107
 66497  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1108
 66498  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1109
 66499  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1110
 66500  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1111
 66501  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1112
 66502  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 1113
 66503  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1114
 66504  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1115
 66505  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1116
 66506  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1117
 66507  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1118
 66508  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1119
 66509  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1120
 66510  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(132)},                                              // 1121
 66511  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1122
 66512  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1123
 66513  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1124
 66514  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1125
 66515  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1126
 66516  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1127
 66517  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1128
 66518  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1129
 66519  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1130
 66520  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1131
 66521  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1132
 66522  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1133
 66523  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1134
 66524  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1135
 66525  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1136
 66526  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1137
 66527  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1138
 66528  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1139
 66529  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1140
 66530  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1141
 66531  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1142
 66532  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1143
 66533  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1144
 66534  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1145
 66535  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1146
 66536  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1147
 66537  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1148
 66538  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1149
 66539  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1150
 66540  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1151
 66541  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1152
 66542  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1153
 66543  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1154
 66544  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1155
 66545  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1156
 66546  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1157
 66547  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1158
 66548  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1159
 66549  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1160
 66550  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1161
 66551  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1162
 66552  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(130)},                                             // 1163
 66553  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1164
 66554  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(144)},                                             // 1165
 66555  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1166
 66556  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(102)},                                             // 1167
 66557  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(96)},                                              // 1168
 66558  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1169
 66559  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1170
 66560  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(324)},                                             // 1171
 66561  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1172
 66562  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1173
 66563  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1174
 66564  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1175
 66565  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1176
 66566  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1177
 66567  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1178
 66568  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1179
 66569  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1180
 66570  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1181
 66571  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1182
 66572  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1183
 66573  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1184
 66574  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1185
 66575  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1186
 66576  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1187
 66577  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1188
 66578  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1189
 66579  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1190
 66580  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1191
 66581  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1192
 66582  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1193
 66583  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1194
 66584  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1195
 66585  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1196
 66586  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1197
 66587  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1198
 66588  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1199
 66589  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(176)},                                           // 1200
 66590  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1201
 66591  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1202
 66592  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1203
 66593  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1204
 66594  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1205
 66595  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1206
 66596  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1207
 66597  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1208
 66598  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1209
 66599  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1210
 66600  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1211
 66601  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1212
 66602  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1213
 66603  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1214
 66604  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1215
 66605  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1216
 66606  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 1217
 66607  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1218
 66608  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1219
 66609  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1220
 66610  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1221
 66611  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1222
 66612  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1223
 66613  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1224
 66614  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1225
 66615  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1226
 66616  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1227
 66617  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1228
 66618  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1229
 66619  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1230
 66620  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1231
 66621  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1232
 66622  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1233
 66623  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1234
 66624  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1235
 66625  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1236
 66626  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1237
 66627  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1238
 66628  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 1239
 66629  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1240
 66630  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1241
 66631  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1242
 66632  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1243
 66633  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1244
 66634  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1245
 66635  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1246
 66636  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1247
 66637  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1248
 66638  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1249
 66639  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1250
 66640  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1251
 66641  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1252
 66642  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                            // 1253
 66643  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1254
 66644  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1255
 66645  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1256
 66646  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1257
 66647  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1258
 66648  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1259
 66649  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1260
 66650  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1261
 66651  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1262
 66652  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1263
 66653  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(326)},                                            // 1264
 66654  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1265
 66655  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1266
 66656  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1267
 66657  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1268
 66658  	{Fscript: Tuint8_t(134), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1269
 66659  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1270
 66660  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1271
 66661  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1272
 66662  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(146)},                                            // 1273
 66663  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1274
 66664  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1275
 66665  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1276
 66666  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1277
 66667  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1278
 66668  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1279
 66669  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1280
 66670  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1281
 66671  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1282
 66672  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1283
 66673  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1284
 66674  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1285
 66675  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1286
 66676  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1287
 66677  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1288
 66678  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1289
 66679  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1290
 66680  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1291
 66681  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1292
 66682  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1293
 66683  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1294
 66684  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1295
 66685  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1296
 66686  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1297
 66687  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1298
 66688  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1299
 66689  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1300
 66690  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1301
 66691  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1302
 66692  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1303
 66693  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1304
 66694  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1305
 66695  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1306
 66696  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(322)},                                             // 1307
 66697  	{Fscript: Tuint8_t(138), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1308
 66698  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1309
 66699  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1310
 66700  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1311
 66701  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1312
 66702  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1313
 66703  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1314
 66704  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1315
 66705  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1316
 66706  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1317
 66707  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1318
 66708  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1319
 66709  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1320
 66710  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1321
 66711  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1322
 66712  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1323
 66713  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1324
 66714  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1325
 66715  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1326
 66716  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1327
 66717  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1328
 66718  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1329
 66719  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1330
 66720  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1331
 66721  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1332
 66722  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1333
 66723  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1334
 66724  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1335
 66725  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                            // 1336
 66726  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                             // 1337
 66727  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1338
 66728  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1339
 66729  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 1340
 66730  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(328)},                                            // 1341
 66731  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                             // 1342
 66732  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1343
 66733  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1344
 66734  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 1345
 66735  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1346
 66736  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1347
 66737  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1348
 66738  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1349
 66739  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1350
 66740  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1351
 66741  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6153), Fbprops: Tuint16_t(66)},                                                // 1352
 66742  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(330)},                                             // 1353
 66743  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                             // 1354
 66744  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 1355
 66745  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 1356
 66746  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 1357
 66747  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(118)},                                            // 1358
 66748  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(214)},                                            // 1359
 66749  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1360
 66750  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1361
 66751  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1362
 66752  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1363
 66753  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1364
 66754  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1365
 66755  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1366
 66756  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1367
 66757  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1368
 66758  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1369
 66759  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1370
 66760  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1371
 66761  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1372
 66762  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1373
 66763  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1374
 66764  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1375
 66765  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1376
 66766  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                            // 1377
 66767  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1378
 66768  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1379
 66769  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1380
 66770  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)},                             // 1381
 66771  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)},                            // 1382
 66772  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 1383
 66773  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1384
 66774  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1385
 66775  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                             // 1386
 66776  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 1387
 66777  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1388
 66778  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1389
 66779  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1390
 66780  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1391
 66781  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(240)},                                                                                    // 1392
 66782  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(332)},                                            // 1393
 66783  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(334)},                                            // 1394
 66784  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(336)},                                             // 1395
 66785  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(338)},                                            // 1396
 66786  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(340)},                                            // 1397
 66787  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(334)},                                            // 1398
 66788  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(11), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(342)},                                            // 1399
 66789  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1400
 66790  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(236)},                                            // 1401
 66791  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(334)},                                            // 1402
 66792  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(344)},                                            // 1403
 66793  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(346)},                                            // 1404
 66794  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(348)},                                             // 1405
 66795  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(350)},                                            // 1406
 66796  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                            // 1407
 66797  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(352)},                                               // 1408
 66798  } /* pcre2_ucd.c:427:18 */
 66799  
 66800  var X_pcre2_ucd_stage1_8 = [8704]Tuint16_t{ // 17408 bytes
 66801  	Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(3), Tuint16_t(4), Tuint16_t(5), Tuint16_t(6), Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), // U+0000
 66802  	Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(28), Tuint16_t(29), Tuint16_t(30), Tuint16_t(31), // U+0800
 66803  	Tuint16_t(32), Tuint16_t(33), Tuint16_t(34), Tuint16_t(35), Tuint16_t(36), Tuint16_t(37), Tuint16_t(38), Tuint16_t(39), Tuint16_t(40), Tuint16_t(41), Tuint16_t(41), Tuint16_t(41), Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(45), // U+1000
 66804  	Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(55), Tuint16_t(56), Tuint16_t(57), Tuint16_t(58), Tuint16_t(59), Tuint16_t(60), Tuint16_t(61), // U+1800
 66805  	Tuint16_t(62), Tuint16_t(63), Tuint16_t(64), Tuint16_t(65), Tuint16_t(66), Tuint16_t(67), Tuint16_t(68), Tuint16_t(69), Tuint16_t(70), Tuint16_t(71), Tuint16_t(72), Tuint16_t(73), Tuint16_t(74), Tuint16_t(75), Tuint16_t(76), Tuint16_t(77), // U+2000
 66806  	Tuint16_t(78), Tuint16_t(78), Tuint16_t(79), Tuint16_t(80), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(85), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88), Tuint16_t(89), Tuint16_t(90), Tuint16_t(91), Tuint16_t(92), // U+2800
 66807  	Tuint16_t(93), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3000
 66808  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3800
 66809  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4000
 66810  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(102), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4800
 66811  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5000
 66812  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5800
 66813  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6000
 66814  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6800
 66815  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7000
 66816  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7800
 66817  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8000
 66818  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8800
 66819  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9000
 66820  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9800
 66821  	Tuint16_t(103), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(106), Tuint16_t(107), Tuint16_t(108), Tuint16_t(109), Tuint16_t(110), // U+A000
 66822  	Tuint16_t(111), Tuint16_t(112), Tuint16_t(113), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), // U+A800
 66823  	Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), // U+B000
 66824  	Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), // U+B800
 66825  	Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), // U+C000
 66826  	Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), // U+C800
 66827  	Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(126), // U+D000
 66828  	Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), // U+D800
 66829  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E000
 66830  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E800
 66831  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F000
 66832  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(129), Tuint16_t(129), Tuint16_t(130), Tuint16_t(131), Tuint16_t(132), Tuint16_t(133), Tuint16_t(134), Tuint16_t(135), Tuint16_t(136), Tuint16_t(137), Tuint16_t(138), Tuint16_t(139), Tuint16_t(140), Tuint16_t(141), // U+F800
 66833  	Tuint16_t(142), Tuint16_t(143), Tuint16_t(144), Tuint16_t(145), Tuint16_t(146), Tuint16_t(147), Tuint16_t(148), Tuint16_t(149), Tuint16_t(150), Tuint16_t(151), Tuint16_t(152), Tuint16_t(153), Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(156), // U+10000
 66834  	Tuint16_t(157), Tuint16_t(158), Tuint16_t(159), Tuint16_t(160), Tuint16_t(161), Tuint16_t(162), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(171), Tuint16_t(172), // U+10800
 66835  	Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(176), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(146), Tuint16_t(180), Tuint16_t(181), Tuint16_t(146), Tuint16_t(182), Tuint16_t(183), Tuint16_t(184), Tuint16_t(185), Tuint16_t(146), // U+11000
 66836  	Tuint16_t(186), Tuint16_t(187), Tuint16_t(188), Tuint16_t(189), Tuint16_t(190), Tuint16_t(191), Tuint16_t(146), Tuint16_t(146), Tuint16_t(192), Tuint16_t(193), Tuint16_t(194), Tuint16_t(195), Tuint16_t(146), Tuint16_t(196), Tuint16_t(146), Tuint16_t(197), // U+11800
 66837  	Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(199), Tuint16_t(200), Tuint16_t(198), Tuint16_t(201), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+12000
 66838  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(202), // U+12800
 66839  	Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(204), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13000
 66840  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13800
 66841  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(206), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14000
 66842  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14800
 66843  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15000
 66844  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15800
 66845  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+16000
 66846  	Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(211), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(212), Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), // U+16800
 66847  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17000
 66848  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17800
 66849  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(217), // U+18000
 66850  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(218), Tuint16_t(218), Tuint16_t(218), Tuint16_t(219), Tuint16_t(220), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+18800
 66851  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19000
 66852  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19800
 66853  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1A000
 66854  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(221), // U+1A800
 66855  	Tuint16_t(222), Tuint16_t(223), Tuint16_t(224), Tuint16_t(225), Tuint16_t(225), Tuint16_t(226), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B000
 66856  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(227), Tuint16_t(228), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B800
 66857  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1C000
 66858  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(229), Tuint16_t(230), // U+1C800
 66859  	Tuint16_t(231), Tuint16_t(232), Tuint16_t(233), Tuint16_t(234), Tuint16_t(235), Tuint16_t(236), Tuint16_t(237), Tuint16_t(146), Tuint16_t(238), Tuint16_t(239), Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(244), Tuint16_t(245), // U+1D000
 66860  	Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(247), Tuint16_t(248), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(249), Tuint16_t(146), // U+1D800
 66861  	Tuint16_t(250), Tuint16_t(146), Tuint16_t(251), Tuint16_t(146), Tuint16_t(146), Tuint16_t(252), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(253), // U+1E000
 66862  	Tuint16_t(254), Tuint16_t(255), Tuint16_t(256), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(257), Tuint16_t(258), Tuint16_t(259), Tuint16_t(168), Tuint16_t(260), Tuint16_t(261), Tuint16_t(168), Tuint16_t(168), // U+1E800
 66863  	Tuint16_t(262), Tuint16_t(263), Tuint16_t(264), Tuint16_t(265), Tuint16_t(266), Tuint16_t(267), Tuint16_t(268), Tuint16_t(269), Tuint16_t(270), Tuint16_t(271), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(277), // U+1F000
 66864  	Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(285), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(286), // U+1F800
 66865  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20000
 66866  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20800
 66867  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21000
 66868  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21800
 66869  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22000
 66870  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22800
 66871  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23000
 66872  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23800
 66873  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24000
 66874  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24800
 66875  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25000
 66876  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25800
 66877  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26000
 66878  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26800
 66879  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27000
 66880  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27800
 66881  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28000
 66882  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28800
 66883  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29000
 66884  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29800
 66885  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(287), Tuint16_t(101), Tuint16_t(101), // U+2A000
 66886  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2A800
 66887  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(288), Tuint16_t(101), // U+2B000
 66888  	Tuint16_t(289), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2B800
 66889  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2C000
 66890  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(290), Tuint16_t(101), Tuint16_t(101), // U+2C800
 66891  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D000
 66892  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D800
 66893  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2E000
 66894  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(291), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2E800
 66895  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2F000
 66896  	Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(292), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+2F800
 66897  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30000
 66898  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30800
 66899  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(294), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31000
 66900  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31800
 66901  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32000
 66902  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32800
 66903  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33000
 66904  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33800
 66905  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34000
 66906  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34800
 66907  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35000
 66908  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35800
 66909  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36000
 66910  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36800
 66911  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37000
 66912  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37800
 66913  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38000
 66914  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38800
 66915  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39000
 66916  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39800
 66917  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A000
 66918  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A800
 66919  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B000
 66920  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B800
 66921  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C000
 66922  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C800
 66923  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D000
 66924  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D800
 66925  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E000
 66926  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E800
 66927  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3F000
 66928  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+3F800
 66929  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40000
 66930  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40800
 66931  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41000
 66932  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41800
 66933  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42000
 66934  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42800
 66935  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43000
 66936  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43800
 66937  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44000
 66938  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44800
 66939  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45000
 66940  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45800
 66941  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46000
 66942  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46800
 66943  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47000
 66944  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47800
 66945  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48000
 66946  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48800
 66947  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49000
 66948  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49800
 66949  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A000
 66950  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A800
 66951  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B000
 66952  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B800
 66953  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C000
 66954  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C800
 66955  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D000
 66956  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D800
 66957  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E000
 66958  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E800
 66959  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4F000
 66960  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+4F800
 66961  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50000
 66962  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50800
 66963  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51000
 66964  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51800
 66965  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52000
 66966  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52800
 66967  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53000
 66968  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53800
 66969  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54000
 66970  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54800
 66971  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55000
 66972  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55800
 66973  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56000
 66974  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56800
 66975  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57000
 66976  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57800
 66977  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58000
 66978  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58800
 66979  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59000
 66980  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59800
 66981  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A000
 66982  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A800
 66983  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B000
 66984  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B800
 66985  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C000
 66986  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C800
 66987  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D000
 66988  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D800
 66989  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E000
 66990  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E800
 66991  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5F000
 66992  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+5F800
 66993  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60000
 66994  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60800
 66995  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61000
 66996  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61800
 66997  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62000
 66998  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62800
 66999  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63000
 67000  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63800
 67001  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64000
 67002  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64800
 67003  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65000
 67004  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65800
 67005  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66000
 67006  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66800
 67007  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67000
 67008  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67800
 67009  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68000
 67010  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68800
 67011  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69000
 67012  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69800
 67013  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A000
 67014  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A800
 67015  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B000
 67016  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B800
 67017  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C000
 67018  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C800
 67019  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D000
 67020  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D800
 67021  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E000
 67022  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E800
 67023  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6F000
 67024  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+6F800
 67025  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70000
 67026  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70800
 67027  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71000
 67028  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71800
 67029  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72000
 67030  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72800
 67031  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73000
 67032  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73800
 67033  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74000
 67034  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74800
 67035  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75000
 67036  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75800
 67037  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76000
 67038  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76800
 67039  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77000
 67040  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77800
 67041  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78000
 67042  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78800
 67043  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79000
 67044  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79800
 67045  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A000
 67046  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A800
 67047  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B000
 67048  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B800
 67049  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C000
 67050  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C800
 67051  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D000
 67052  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D800
 67053  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E000
 67054  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E800
 67055  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7F000
 67056  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+7F800
 67057  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80000
 67058  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80800
 67059  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81000
 67060  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81800
 67061  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82000
 67062  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82800
 67063  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83000
 67064  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83800
 67065  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84000
 67066  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84800
 67067  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85000
 67068  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85800
 67069  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86000
 67070  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86800
 67071  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87000
 67072  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87800
 67073  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88000
 67074  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88800
 67075  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89000
 67076  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89800
 67077  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A000
 67078  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A800
 67079  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B000
 67080  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B800
 67081  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C000
 67082  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C800
 67083  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D000
 67084  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D800
 67085  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E000
 67086  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E800
 67087  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8F000
 67088  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+8F800
 67089  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90000
 67090  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90800
 67091  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91000
 67092  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91800
 67093  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92000
 67094  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92800
 67095  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93000
 67096  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93800
 67097  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94000
 67098  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94800
 67099  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95000
 67100  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95800
 67101  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96000
 67102  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96800
 67103  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97000
 67104  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97800
 67105  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98000
 67106  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98800
 67107  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99000
 67108  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99800
 67109  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A000
 67110  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A800
 67111  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B000
 67112  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B800
 67113  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C000
 67114  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C800
 67115  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D000
 67116  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D800
 67117  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E000
 67118  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E800
 67119  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9F000
 67120  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+9F800
 67121  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0000
 67122  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0800
 67123  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1000
 67124  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1800
 67125  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2000
 67126  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2800
 67127  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3000
 67128  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3800
 67129  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4000
 67130  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4800
 67131  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5000
 67132  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5800
 67133  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6000
 67134  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6800
 67135  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7000
 67136  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7800
 67137  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8000
 67138  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8800
 67139  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9000
 67140  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9800
 67141  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA000
 67142  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA800
 67143  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB000
 67144  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB800
 67145  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC000
 67146  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC800
 67147  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD000
 67148  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD800
 67149  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE000
 67150  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE800
 67151  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AF000
 67152  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+AF800
 67153  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0000
 67154  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0800
 67155  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1000
 67156  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1800
 67157  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2000
 67158  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2800
 67159  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3000
 67160  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3800
 67161  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4000
 67162  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4800
 67163  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5000
 67164  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5800
 67165  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6000
 67166  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6800
 67167  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7000
 67168  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7800
 67169  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8000
 67170  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8800
 67171  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9000
 67172  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9800
 67173  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA000
 67174  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA800
 67175  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB000
 67176  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB800
 67177  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC000
 67178  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC800
 67179  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD000
 67180  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD800
 67181  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE000
 67182  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE800
 67183  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BF000
 67184  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+BF800
 67185  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0000
 67186  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0800
 67187  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1000
 67188  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1800
 67189  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2000
 67190  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2800
 67191  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3000
 67192  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3800
 67193  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4000
 67194  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4800
 67195  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5000
 67196  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5800
 67197  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6000
 67198  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6800
 67199  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7000
 67200  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7800
 67201  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8000
 67202  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8800
 67203  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9000
 67204  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9800
 67205  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA000
 67206  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA800
 67207  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB000
 67208  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB800
 67209  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC000
 67210  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC800
 67211  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD000
 67212  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD800
 67213  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE000
 67214  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE800
 67215  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CF000
 67216  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+CF800
 67217  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0000
 67218  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0800
 67219  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1000
 67220  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1800
 67221  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2000
 67222  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2800
 67223  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3000
 67224  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3800
 67225  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4000
 67226  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4800
 67227  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5000
 67228  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5800
 67229  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6000
 67230  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6800
 67231  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7000
 67232  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7800
 67233  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8000
 67234  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8800
 67235  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9000
 67236  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9800
 67237  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA000
 67238  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA800
 67239  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB000
 67240  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB800
 67241  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC000
 67242  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC800
 67243  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD000
 67244  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD800
 67245  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE000
 67246  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE800
 67247  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DF000
 67248  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+DF800
 67249  	Tuint16_t(295), Tuint16_t(296), Tuint16_t(297), Tuint16_t(298), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0000
 67250  	Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0800
 67251  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1000
 67252  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1800
 67253  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2000
 67254  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2800
 67255  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3000
 67256  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3800
 67257  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4000
 67258  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4800
 67259  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5000
 67260  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5800
 67261  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6000
 67262  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6800
 67263  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7000
 67264  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7800
 67265  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8000
 67266  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8800
 67267  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9000
 67268  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9800
 67269  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA000
 67270  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA800
 67271  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB000
 67272  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB800
 67273  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC000
 67274  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC800
 67275  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED000
 67276  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED800
 67277  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE000
 67278  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE800
 67279  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EF000
 67280  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+EF800
 67281  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0000
 67282  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0800
 67283  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1000
 67284  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1800
 67285  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2000
 67286  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2800
 67287  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3000
 67288  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3800
 67289  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4000
 67290  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4800
 67291  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5000
 67292  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5800
 67293  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6000
 67294  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6800
 67295  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7000
 67296  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7800
 67297  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8000
 67298  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8800
 67299  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9000
 67300  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9800
 67301  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA000
 67302  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA800
 67303  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB000
 67304  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB800
 67305  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC000
 67306  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC800
 67307  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD000
 67308  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD800
 67309  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE000
 67310  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE800
 67311  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FF000
 67312  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+FF800
 67313  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100000
 67314  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100800
 67315  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101000
 67316  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101800
 67317  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102000
 67318  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102800
 67319  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103000
 67320  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103800
 67321  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104000
 67322  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104800
 67323  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105000
 67324  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105800
 67325  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106000
 67326  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106800
 67327  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107000
 67328  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107800
 67329  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108000
 67330  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108800
 67331  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109000
 67332  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109800
 67333  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A000
 67334  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A800
 67335  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B000
 67336  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B800
 67337  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C000
 67338  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C800
 67339  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D000
 67340  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D800
 67341  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E000
 67342  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E800
 67343  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10F000
 67344  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+10F800
 67345  } /* pcre2_ucd.c:1839:16 */
 67346  
 67347  var X_pcre2_ucd_stage2_8 = [38400]Tuint16_t{ // 76800 bytes, block = 128
 67348  
 67349  	// block 0
 67350  	Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(1), Tuint16_t(3), Tuint16_t(4), Tuint16_t(0), Tuint16_t(0),
 67351  	Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(5), Tuint16_t(5), Tuint16_t(5), Tuint16_t(6),
 67352  	Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22),
 67353  	Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(26), Tuint16_t(8),
 67354  	Tuint16_t(13), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(30), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29),
 67355  	Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(31), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(15), Tuint16_t(13), Tuint16_t(16), Tuint16_t(32), Tuint16_t(33),
 67356  	Tuint16_t(34), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(36), Tuint16_t(36), Tuint16_t(37), Tuint16_t(37), Tuint16_t(38), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36),
 67357  	Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(39), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(15), Tuint16_t(27), Tuint16_t(16), Tuint16_t(27), Tuint16_t(0),
 67358  
 67359  	// block 1
 67360  	Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(41), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40),
 67361  	Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40),
 67362  	Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(45), Tuint16_t(43), Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(47), Tuint16_t(46),
 67363  	Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(54), Tuint16_t(46), Tuint16_t(55), Tuint16_t(43), Tuint16_t(56), Tuint16_t(46), Tuint16_t(54), Tuint16_t(48), Tuint16_t(57), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(43),
 67364  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(60), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59),
 67365  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(50), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(61),
 67366  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(63), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62),
 67367  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(50), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(64),
 67368  
 67369  	// block 2
 67370  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67371  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67372  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67),
 67373  	Tuint16_t(68), Tuint16_t(69), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65),
 67374  	Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(71), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67375  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67376  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67377  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(72), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(73),
 67378  
 67379  	// block 3
 67380  	Tuint16_t(74), Tuint16_t(75), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(76), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(77), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(78), Tuint16_t(79),
 67381  	Tuint16_t(80), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(65), Tuint16_t(66), Tuint16_t(85), Tuint16_t(70), Tuint16_t(83), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88),
 67382  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65),
 67383  	Tuint16_t(66), Tuint16_t(90), Tuint16_t(90), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(91), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(92), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(93),
 67384  	Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(102), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65),
 67385  	Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(103), Tuint16_t(65), Tuint16_t(66),
 67386  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67387  	Tuint16_t(69), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(65), Tuint16_t(66), Tuint16_t(107), Tuint16_t(108), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67388  
 67389  	// block 4
 67390  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67391  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67392  	Tuint16_t(109), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67393  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(110), Tuint16_t(65), Tuint16_t(66), Tuint16_t(111), Tuint16_t(112), Tuint16_t(113),
 67394  	Tuint16_t(113), Tuint16_t(65), Tuint16_t(66), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67395  	Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(70), Tuint16_t(122), Tuint16_t(122), Tuint16_t(70), Tuint16_t(123), Tuint16_t(70), Tuint16_t(124), Tuint16_t(125), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67396  	Tuint16_t(122), Tuint16_t(126), Tuint16_t(70), Tuint16_t(127), Tuint16_t(70), Tuint16_t(128), Tuint16_t(129), Tuint16_t(70), Tuint16_t(130), Tuint16_t(131), Tuint16_t(129), Tuint16_t(132), Tuint16_t(133), Tuint16_t(70), Tuint16_t(70), Tuint16_t(131),
 67397  	Tuint16_t(70), Tuint16_t(134), Tuint16_t(135), Tuint16_t(70), Tuint16_t(70), Tuint16_t(136), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(137), Tuint16_t(70), Tuint16_t(70),
 67398  
 67399  	// block 5
 67400  	Tuint16_t(138), Tuint16_t(70), Tuint16_t(139), Tuint16_t(138), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(140), Tuint16_t(138), Tuint16_t(141), Tuint16_t(142), Tuint16_t(142), Tuint16_t(143), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67401  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(144), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(145), Tuint16_t(146), Tuint16_t(70),
 67402  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67403  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(149), Tuint16_t(149), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150),
 67404  	Tuint16_t(151), Tuint16_t(151), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149),
 67405  	Tuint16_t(152), Tuint16_t(152), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 67406  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(153), Tuint16_t(153), Tuint16_t(149), Tuint16_t(46), Tuint16_t(150), Tuint16_t(46),
 67407  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 67408  
 67409  	// block 6
 67410  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67411  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67412  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67413  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67414  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(154), Tuint16_t(154), Tuint16_t(156), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(157),
 67415  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67416  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159),
 67417  	Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(149), Tuint16_t(162), Tuint16_t(160), Tuint16_t(161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(165), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167),
 67418  
 67419  	// block 7
 67420  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(162), Tuint16_t(46), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(170), Tuint16_t(170), Tuint16_t(163), Tuint16_t(171), Tuint16_t(163), Tuint16_t(172), Tuint16_t(172),
 67421  	Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(174), Tuint16_t(174), Tuint16_t(176), Tuint16_t(174), Tuint16_t(174), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(174), Tuint16_t(180), Tuint16_t(174), Tuint16_t(174), Tuint16_t(174),
 67422  	Tuint16_t(181), Tuint16_t(182), Tuint16_t(163), Tuint16_t(183), Tuint16_t(174), Tuint16_t(174), Tuint16_t(184), Tuint16_t(174), Tuint16_t(174), Tuint16_t(185), Tuint16_t(174), Tuint16_t(174), Tuint16_t(186), Tuint16_t(187), Tuint16_t(187), Tuint16_t(187),
 67423  	Tuint16_t(173), Tuint16_t(188), Tuint16_t(189), Tuint16_t(188), Tuint16_t(188), Tuint16_t(190), Tuint16_t(188), Tuint16_t(188), Tuint16_t(191), Tuint16_t(192), Tuint16_t(193), Tuint16_t(188), Tuint16_t(194), Tuint16_t(188), Tuint16_t(188), Tuint16_t(188),
 67424  	Tuint16_t(195), Tuint16_t(196), Tuint16_t(197), Tuint16_t(198), Tuint16_t(188), Tuint16_t(188), Tuint16_t(199), Tuint16_t(188), Tuint16_t(188), Tuint16_t(200), Tuint16_t(188), Tuint16_t(188), Tuint16_t(201), Tuint16_t(202), Tuint16_t(202), Tuint16_t(203),
 67425  	Tuint16_t(204), Tuint16_t(205), Tuint16_t(206), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161),
 67426  	Tuint16_t(160), Tuint16_t(161), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 67427  	Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), Tuint16_t(216), Tuint16_t(217), Tuint16_t(218), Tuint16_t(219), Tuint16_t(160), Tuint16_t(161), Tuint16_t(220), Tuint16_t(160), Tuint16_t(161), Tuint16_t(221), Tuint16_t(222), Tuint16_t(222), Tuint16_t(222),
 67428  
 67429  	// block 8
 67430  	Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223),
 67431  	Tuint16_t(224), Tuint16_t(224), Tuint16_t(225), Tuint16_t(224), Tuint16_t(226), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(227), Tuint16_t(224),
 67432  	Tuint16_t(224), Tuint16_t(228), Tuint16_t(229), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(230), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224),
 67433  	Tuint16_t(231), Tuint16_t(231), Tuint16_t(232), Tuint16_t(231), Tuint16_t(233), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(234), Tuint16_t(231),
 67434  	Tuint16_t(231), Tuint16_t(235), Tuint16_t(236), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(237), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231),
 67435  	Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238),
 67436  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67437  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67438  
 67439  	// block 9
 67440  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(244), Tuint16_t(245), Tuint16_t(246), Tuint16_t(247), Tuint16_t(247), Tuint16_t(246), Tuint16_t(248), Tuint16_t(248), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67441  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67442  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67443  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67444  	Tuint16_t(249), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(250),
 67445  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67446  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67447  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67448  
 67449  	// block 10
 67450  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67451  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67452  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67453  	Tuint16_t(163), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251),
 67454  	Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251),
 67455  	Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(163), Tuint16_t(163), Tuint16_t(252), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(254),
 67456  	Tuint16_t(255), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256),
 67457  	Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256),
 67458  
 67459  	// block 11
 67460  	Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(257), Tuint16_t(255), Tuint16_t(258), Tuint16_t(259), Tuint16_t(163), Tuint16_t(163), Tuint16_t(260), Tuint16_t(260), Tuint16_t(261),
 67461  	Tuint16_t(262), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263),
 67462  	Tuint16_t(263), Tuint16_t(263), Tuint16_t(264), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263),
 67463  	Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(266), Tuint16_t(265),
 67464  	Tuint16_t(267), Tuint16_t(265), Tuint16_t(265), Tuint16_t(268), Tuint16_t(265), Tuint16_t(269), Tuint16_t(267), Tuint16_t(269), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 67465  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 67466  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(270),
 67467  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(267), Tuint16_t(271), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 67468  
 67469  	// block 12
 67470  	Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(276), Tuint16_t(277), Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(280),
 67471  	Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(284), Tuint16_t(285),
 67472  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67473  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67474  	Tuint16_t(287), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288),
 67475  	Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(289), Tuint16_t(289), Tuint16_t(289), Tuint16_t(281), Tuint16_t(290), Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281),
 67476  	Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(276), Tuint16_t(293), Tuint16_t(293), Tuint16_t(279), Tuint16_t(286), Tuint16_t(286),
 67477  	Tuint16_t(289), Tuint16_t(286), Tuint16_t(286), Tuint16_t(294), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67478  
 67479  	// block 13
 67480  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67481  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67482  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67483  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67484  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67485  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(295), Tuint16_t(286), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(273), Tuint16_t(280), Tuint16_t(291),
 67486  	Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(296), Tuint16_t(296), Tuint16_t(281), Tuint16_t(281), Tuint16_t(280), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(281), Tuint16_t(286), Tuint16_t(286),
 67487  	Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(298), Tuint16_t(298), Tuint16_t(286),
 67488  
 67489  	// block 14
 67490  	Tuint16_t(299), Tuint16_t(299), Tuint16_t(299), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(301), Tuint16_t(300), Tuint16_t(301), Tuint16_t(302), Tuint16_t(303),
 67491  	Tuint16_t(304), Tuint16_t(305), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67492  	Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67493  	Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306),
 67494  	Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(302), Tuint16_t(302), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67495  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67496  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67497  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67498  
 67499  	// block 15
 67500  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308),
 67501  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308),
 67502  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309),
 67503  	Tuint16_t(309), Tuint16_t(308), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 67504  	Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311),
 67505  	Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311),
 67506  	Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312),
 67507  	Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(313), Tuint16_t(313), Tuint16_t(314), Tuint16_t(315), Tuint16_t(316), Tuint16_t(317), Tuint16_t(318), Tuint16_t(262), Tuint16_t(262), Tuint16_t(319), Tuint16_t(320), Tuint16_t(320),
 67508  
 67509  	// block 16
 67510  	Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321),
 67511  	Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(322), Tuint16_t(322), Tuint16_t(323), Tuint16_t(323), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322),
 67512  	Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(325), Tuint16_t(262), Tuint16_t(262),
 67513  	Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(327), Tuint16_t(262),
 67514  	Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328),
 67515  	Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(329), Tuint16_t(329), Tuint16_t(329), Tuint16_t(262), Tuint16_t(262), Tuint16_t(330), Tuint16_t(262),
 67516  	Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 67517  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67518  
 67519  	// block 17
 67520  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302),
 67521  	Tuint16_t(272), Tuint16_t(272), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67522  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67523  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67524  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(296), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67525  	Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(332), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281),
 67526  	Tuint16_t(332), Tuint16_t(332), Tuint16_t(273), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67527  	Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(281),
 67528  
 67529  	// block 18
 67530  	Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67531  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67532  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67533  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(334), Tuint16_t(336), Tuint16_t(335), Tuint16_t(334), Tuint16_t(334),
 67534  	Tuint16_t(334), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(337), Tuint16_t(334), Tuint16_t(334),
 67535  	Tuint16_t(335), Tuint16_t(338), Tuint16_t(339), Tuint16_t(154), Tuint16_t(154), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67536  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(333), Tuint16_t(340), Tuint16_t(341), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342),
 67537  	Tuint16_t(343), Tuint16_t(344), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67538  
 67539  	// block 19
 67540  	Tuint16_t(345), Tuint16_t(346), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345),
 67541  	Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345),
 67542  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345),
 67543  	Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(348), Tuint16_t(345), Tuint16_t(349), Tuint16_t(347),
 67544  	Tuint16_t(347), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(350), Tuint16_t(345), Tuint16_t(163),
 67545  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(349), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345),
 67546  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351),
 67547  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(352), Tuint16_t(352), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(354), Tuint16_t(352), Tuint16_t(345), Tuint16_t(355), Tuint16_t(356), Tuint16_t(163),
 67548  
 67549  	// block 20
 67550  	Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(358), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359),
 67551  	Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359),
 67552  	Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359),
 67553  	Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(360), Tuint16_t(163), Tuint16_t(358), Tuint16_t(358),
 67554  	Tuint16_t(358), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(361), Tuint16_t(163), Tuint16_t(163),
 67555  	Tuint16_t(163), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(163),
 67556  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362),
 67557  	Tuint16_t(357), Tuint16_t(357), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(357), Tuint16_t(363), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67558  
 67559  	// block 21
 67560  	Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366),
 67561  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366),
 67562  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366),
 67563  	Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(367), Tuint16_t(366), Tuint16_t(365), Tuint16_t(365),
 67564  	Tuint16_t(365), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(365), Tuint16_t(365), Tuint16_t(368), Tuint16_t(163), Tuint16_t(163),
 67565  	Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67566  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369),
 67567  	Tuint16_t(370), Tuint16_t(371), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(367), Tuint16_t(367), Tuint16_t(367),
 67568  
 67569  	// block 22
 67570  	Tuint16_t(163), Tuint16_t(372), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374),
 67571  	Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374),
 67572  	Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374),
 67573  	Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(375), Tuint16_t(374), Tuint16_t(376), Tuint16_t(372),
 67574  	Tuint16_t(373), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(377), Tuint16_t(163), Tuint16_t(163),
 67575  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(378), Tuint16_t(372), Tuint16_t(376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374),
 67576  	Tuint16_t(374), Tuint16_t(374), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379),
 67577  	Tuint16_t(380), Tuint16_t(374), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67578  
 67579  	// block 23
 67580  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(382), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67581  	Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67582  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67583  	Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(385),
 67584  	Tuint16_t(382), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(386), Tuint16_t(163), Tuint16_t(163),
 67585  	Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67586  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387),
 67587  	Tuint16_t(388), Tuint16_t(388), Tuint16_t(388), Tuint16_t(389), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67588  
 67589  	// block 24
 67590  	Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(394), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395),
 67591  	Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395),
 67592  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395),
 67593  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(396), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392),
 67594  	Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(397), Tuint16_t(163), Tuint16_t(163),
 67595  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163),
 67596  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(163), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398),
 67597  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(399), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(401),
 67598  
 67599  	// block 25
 67600  	Tuint16_t(402), Tuint16_t(403), Tuint16_t(404), Tuint16_t(404), Tuint16_t(405), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402),
 67601  	Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402),
 67602  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402),
 67603  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(406), Tuint16_t(402), Tuint16_t(404), Tuint16_t(407),
 67604  	Tuint16_t(404), Tuint16_t(404), Tuint16_t(408), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(407), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(404), Tuint16_t(404), Tuint16_t(403), Tuint16_t(409), Tuint16_t(163), Tuint16_t(163),
 67605  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(408), Tuint16_t(408), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163),
 67606  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(403), Tuint16_t(403), Tuint16_t(163), Tuint16_t(163), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410),
 67607  	Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67608  
 67609  	// block 26
 67610  	Tuint16_t(411), Tuint16_t(411), Tuint16_t(412), Tuint16_t(412), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413),
 67611  	Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67612  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67613  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(414), Tuint16_t(414), Tuint16_t(413), Tuint16_t(415), Tuint16_t(412),
 67614  	Tuint16_t(412), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(414), Tuint16_t(416), Tuint16_t(417),
 67615  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(415), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(413),
 67616  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(163), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419),
 67617  	Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(417), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67618  
 67619  	// block 27
 67620  	Tuint16_t(163), Tuint16_t(420), Tuint16_t(421), Tuint16_t(421), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67621  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67622  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67623  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163),
 67624  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(423), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(424),
 67625  	Tuint16_t(421), Tuint16_t(421), Tuint16_t(420), Tuint16_t(420), Tuint16_t(420), Tuint16_t(163), Tuint16_t(420), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(424),
 67626  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425),
 67627  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(426), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67628  
 67629  	// block 28
 67630  	Tuint16_t(163), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67631  	Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67632  	Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67633  	Tuint16_t(427), Tuint16_t(428), Tuint16_t(427), Tuint16_t(429), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(430), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(431),
 67634  	Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(427), Tuint16_t(433), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(428), Tuint16_t(434), Tuint16_t(435),
 67635  	Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(437), Tuint16_t(437), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67636  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67637  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67638  
 67639  	// block 29
 67640  	Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67641  	Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67642  	Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67643  	Tuint16_t(438), Tuint16_t(439), Tuint16_t(438), Tuint16_t(440), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(441), Tuint16_t(439), Tuint16_t(439), Tuint16_t(438), Tuint16_t(163), Tuint16_t(163),
 67644  	Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(163), Tuint16_t(443), Tuint16_t(163), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(439), Tuint16_t(163), Tuint16_t(163),
 67645  	Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(163), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67646  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67647  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67648  
 67649  	// block 30
 67650  	Tuint16_t(446), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(449), Tuint16_t(449),
 67651  	Tuint16_t(449), Tuint16_t(449), Tuint16_t(449), Tuint16_t(447), Tuint16_t(448), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447),
 67652  	Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452),
 67653  	Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(453), Tuint16_t(454), Tuint16_t(453), Tuint16_t(454), Tuint16_t(455), Tuint16_t(455),
 67654  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446),
 67655  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446),
 67656  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67657  	Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(458),
 67658  
 67659  	// block 31
 67660  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(450), Tuint16_t(450), Tuint16_t(459), Tuint16_t(448), Tuint16_t(450), Tuint16_t(450), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67661  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67662  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67663  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447),
 67664  	Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447),
 67665  	Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(448), Tuint16_t(448), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67666  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67667  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67668  
 67669  	// block 32
 67670  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67671  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67672  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463),
 67673  	Tuint16_t(463), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(465), Tuint16_t(462), Tuint16_t(466), Tuint16_t(466), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461),
 67674  	Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(468), Tuint16_t(468), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469),
 67675  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(463),
 67676  	Tuint16_t(463), Tuint16_t(461), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461),
 67677  	Tuint16_t(461), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67678  
 67679  	// block 33
 67680  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(462), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(471), Tuint16_t(461), Tuint16_t(470),
 67681  	Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(470), Tuint16_t(470), Tuint16_t(462), Tuint16_t(463), Tuint16_t(473), Tuint16_t(473),
 67682  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474),
 67683  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474),
 67684  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163),
 67685  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67686  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67687  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(476), Tuint16_t(477), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67688  
 67689  	// block 34
 67690  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67691  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67692  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67693  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67694  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67695  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(479),
 67696  	Tuint16_t(480), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67697  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67698  
 67699  	// block 35
 67700  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67701  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67702  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67703  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67704  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67705  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67706  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67707  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67708  
 67709  	// block 36
 67710  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67711  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67712  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67713  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67714  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67715  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67716  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67717  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67718  
 67719  	// block 37
 67720  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67721  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67722  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67723  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 67724  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67725  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67726  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67727  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67728  
 67729  	// block 38
 67730  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67731  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67732  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67733  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67734  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67735  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(484), Tuint16_t(484), Tuint16_t(484),
 67736  	Tuint16_t(485), Tuint16_t(486), Tuint16_t(487), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(487), Tuint16_t(487), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488),
 67737  	Tuint16_t(488), Tuint16_t(488), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67738  
 67739  	// block 39
 67740  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67741  	Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67742  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67743  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67744  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67745  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67746  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67747  	Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(163), Tuint16_t(163), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(163), Tuint16_t(163),
 67748  
 67749  	// block 40
 67750  	Tuint16_t(494), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67751  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67752  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67753  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67754  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67755  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67756  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67757  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67758  
 67759  	// block 41
 67760  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67761  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67762  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67763  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67764  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67765  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67766  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67767  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67768  
 67769  	// block 42
 67770  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67771  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67772  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67773  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67774  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67775  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67776  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(496), Tuint16_t(497), Tuint16_t(495),
 67777  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67778  
 67779  	// block 43
 67780  	Tuint16_t(498), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499),
 67781  	Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(500), Tuint16_t(501), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67782  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67783  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67784  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67785  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67786  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(503), Tuint16_t(503), Tuint16_t(503), Tuint16_t(504), Tuint16_t(504),
 67787  	Tuint16_t(504), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67788  
 67789  	// block 44
 67790  	Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505),
 67791  	Tuint16_t(505), Tuint16_t(505), Tuint16_t(506), Tuint16_t(506), Tuint16_t(507), Tuint16_t(508), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(505),
 67792  	Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509),
 67793  	Tuint16_t(509), Tuint16_t(509), Tuint16_t(510), Tuint16_t(510), Tuint16_t(511), Tuint16_t(512), Tuint16_t(512), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67794  	Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513),
 67795  	Tuint16_t(513), Tuint16_t(513), Tuint16_t(514), Tuint16_t(514), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67796  	Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(163), Tuint16_t(515), Tuint16_t(515),
 67797  	Tuint16_t(515), Tuint16_t(163), Tuint16_t(516), Tuint16_t(516), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67798  
 67799  	// block 45
 67800  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67801  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67802  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(518), Tuint16_t(518), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67803  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(519), Tuint16_t(519), Tuint16_t(520), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520),
 67804  	Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522),
 67805  	Tuint16_t(522), Tuint16_t(522), Tuint16_t(523), Tuint16_t(522), Tuint16_t(524), Tuint16_t(524), Tuint16_t(524), Tuint16_t(525), Tuint16_t(526), Tuint16_t(526), Tuint16_t(524), Tuint16_t(527), Tuint16_t(517), Tuint16_t(522), Tuint16_t(163), Tuint16_t(163),
 67806  	Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67807  	Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67808  
 67809  	// block 46
 67810  	Tuint16_t(530), Tuint16_t(530), Tuint16_t(531), Tuint16_t(532), Tuint16_t(533), Tuint16_t(531), Tuint16_t(534), Tuint16_t(530), Tuint16_t(533), Tuint16_t(535), Tuint16_t(536), Tuint16_t(537), Tuint16_t(537), Tuint16_t(537), Tuint16_t(538), Tuint16_t(537),
 67811  	Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67812  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67813  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67814  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(541), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67815  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67816  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67817  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67818  
 67819  	// block 47
 67820  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(542), Tuint16_t(542), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67821  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67822  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(543), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67823  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67824  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67825  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67826  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67827  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67828  
 67829  	// block 48
 67830  	Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544),
 67831  	Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(163),
 67832  	Tuint16_t(545), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67833  	Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(547), Tuint16_t(547), Tuint16_t(547), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67834  	Tuint16_t(548), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(549), Tuint16_t(549), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550),
 67835  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551),
 67836  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163),
 67837  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67838  
 67839  	// block 49
 67840  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67841  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67842  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67843  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(553), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67844  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67845  	Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(555), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(556), Tuint16_t(556),
 67846  	Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557),
 67847  	Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557),
 67848  
 67849  	// block 50
 67850  	Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558),
 67851  	Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(559), Tuint16_t(559), Tuint16_t(560), Tuint16_t(560), Tuint16_t(559), Tuint16_t(163), Tuint16_t(163), Tuint16_t(561), Tuint16_t(561),
 67852  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67853  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67854  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67855  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(563), Tuint16_t(564), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(163),
 67856  	Tuint16_t(565), Tuint16_t(566), Tuint16_t(564), Tuint16_t(566), Tuint16_t(566), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(563), Tuint16_t(563), Tuint16_t(563),
 67857  	Tuint16_t(563), Tuint16_t(563), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(163), Tuint16_t(163), Tuint16_t(567),
 67858  
 67859  	// block 51
 67860  	Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67861  	Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67862  	Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(570), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(569), Tuint16_t(569), Tuint16_t(163), Tuint16_t(163),
 67863  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(572), Tuint16_t(573),
 67864  	Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(163),
 67865  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67866  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67867  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67868  
 67869  	// block 52
 67870  	Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67871  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67872  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67873  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(577), Tuint16_t(578), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(575), Tuint16_t(575),
 67874  	Tuint16_t(575), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(579), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67875  	Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(581), Tuint16_t(581), Tuint16_t(582), Tuint16_t(583), Tuint16_t(581), Tuint16_t(581),
 67876  	Tuint16_t(582), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577),
 67877  	Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(581), Tuint16_t(581), Tuint16_t(163),
 67878  
 67879  	// block 53
 67880  	Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67881  	Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67882  	Tuint16_t(587), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(588), Tuint16_t(589), Tuint16_t(585), Tuint16_t(585), Tuint16_t(587), Tuint16_t(587),
 67883  	Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67884  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591),
 67885  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591),
 67886  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(592), Tuint16_t(593), Tuint16_t(594), Tuint16_t(594), Tuint16_t(593), Tuint16_t(593), Tuint16_t(593), Tuint16_t(594), Tuint16_t(593), Tuint16_t(594),
 67887  	Tuint16_t(594), Tuint16_t(594), Tuint16_t(595), Tuint16_t(595), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596),
 67888  
 67889  	// block 54
 67890  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67891  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67892  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599),
 67893  	Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(598), Tuint16_t(598), Tuint16_t(600), Tuint16_t(601), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(602), Tuint16_t(602), Tuint16_t(603), Tuint16_t(603), Tuint16_t(603),
 67894  	Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67895  	Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606),
 67896  	Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606),
 67897  	Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(607), Tuint16_t(607), Tuint16_t(607), Tuint16_t(608), Tuint16_t(607), Tuint16_t(607), Tuint16_t(609), Tuint16_t(609),
 67898  
 67899  	// block 55
 67900  	Tuint16_t(610), Tuint16_t(611), Tuint16_t(612), Tuint16_t(613), Tuint16_t(614), Tuint16_t(615), Tuint16_t(616), Tuint16_t(617), Tuint16_t(618), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67901  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67902  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67903  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(163), Tuint16_t(163), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67904  	Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67905  	Tuint16_t(621), Tuint16_t(622), Tuint16_t(621), Tuint16_t(623), Tuint16_t(622), Tuint16_t(624), Tuint16_t(624), Tuint16_t(625), Tuint16_t(624), Tuint16_t(625), Tuint16_t(626), Tuint16_t(622), Tuint16_t(625), Tuint16_t(625), Tuint16_t(622), Tuint16_t(622),
 67906  	Tuint16_t(625), Tuint16_t(627), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(628), Tuint16_t(629), Tuint16_t(630), Tuint16_t(630), Tuint16_t(624), Tuint16_t(630), Tuint16_t(630),
 67907  	Tuint16_t(630), Tuint16_t(630), Tuint16_t(631), Tuint16_t(632), Tuint16_t(633), Tuint16_t(629), Tuint16_t(629), Tuint16_t(634), Tuint16_t(635), Tuint16_t(635), Tuint16_t(636), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67908  
 67909  	// block 56
 67910  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67911  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67912  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(637), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67913  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67914  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67915  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638),
 67916  	Tuint16_t(638), Tuint16_t(638), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67917  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(639), Tuint16_t(640), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(641), Tuint16_t(70), Tuint16_t(70),
 67918  
 67919  	// block 57
 67920  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(642), Tuint16_t(70),
 67921  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644),
 67922  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644),
 67923  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(646),
 67924  	Tuint16_t(647), Tuint16_t(647), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67925  	Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158),
 67926  	Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573),
 67927  	Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(648), Tuint16_t(154), Tuint16_t(649), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67928  
 67929  	// block 58
 67930  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67931  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67932  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66),
 67933  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67934  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67935  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67936  	Tuint16_t(650), Tuint16_t(651), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67937  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67938  
 67939  	// block 59
 67940  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67941  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(652), Tuint16_t(653), Tuint16_t(70), Tuint16_t(70), Tuint16_t(654), Tuint16_t(70),
 67942  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67943  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67944  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67945  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67946  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67947  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67948  
 67949  	// block 60
 67950  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67951  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163),
 67952  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67953  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67954  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163),
 67955  	Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656),
 67956  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67957  	Tuint16_t(657), Tuint16_t(657), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(659), Tuint16_t(659), Tuint16_t(660), Tuint16_t(660), Tuint16_t(661), Tuint16_t(661), Tuint16_t(662), Tuint16_t(662), Tuint16_t(163), Tuint16_t(163),
 67958  
 67959  	// block 61
 67960  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67961  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67962  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67963  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(656), Tuint16_t(656), Tuint16_t(667), Tuint16_t(667), Tuint16_t(668), Tuint16_t(162), Tuint16_t(669), Tuint16_t(162),
 67964  	Tuint16_t(162), Tuint16_t(162), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67965  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(671), Tuint16_t(671), Tuint16_t(163), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67966  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(173), Tuint16_t(215), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(672), Tuint16_t(672), Tuint16_t(220), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67967  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(673), Tuint16_t(673), Tuint16_t(674), Tuint16_t(674), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(163),
 67968  
 67969  	// block 62
 67970  	Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(51), Tuint16_t(676), Tuint16_t(677), Tuint16_t(678), Tuint16_t(679),
 67971  	Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(681), Tuint16_t(43), Tuint16_t(682), Tuint16_t(683), Tuint16_t(684), Tuint16_t(685), Tuint16_t(685), Tuint16_t(686), Tuint16_t(684), Tuint16_t(685),
 67972  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(688), Tuint16_t(689), Tuint16_t(690), Tuint16_t(691), Tuint16_t(692), Tuint16_t(693), Tuint16_t(694), Tuint16_t(695),
 67973  	Tuint16_t(696), Tuint16_t(696), Tuint16_t(697), Tuint16_t(697), Tuint16_t(697), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(49), Tuint16_t(57), Tuint16_t(43), Tuint16_t(698), Tuint16_t(699), Tuint16_t(43), Tuint16_t(700),
 67974  	Tuint16_t(701), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(702), Tuint16_t(703), Tuint16_t(704), Tuint16_t(699), Tuint16_t(699), Tuint16_t(698), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43),
 67975  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(50), Tuint16_t(705), Tuint16_t(700), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(675),
 67976  	Tuint16_t(51), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(707), Tuint16_t(708), Tuint16_t(709), Tuint16_t(710), Tuint16_t(711), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712),
 67977  	Tuint16_t(54), Tuint16_t(645), Tuint16_t(163), Tuint16_t(163), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(644),
 67978  
 67979  	// block 63
 67980  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(163),
 67981  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67982  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431),
 67983  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431),
 67984  	Tuint16_t(431), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718),
 67985  	Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(720), Tuint16_t(720), Tuint16_t(720),
 67986  	Tuint16_t(720), Tuint16_t(719), Tuint16_t(720), Tuint16_t(721), Tuint16_t(720), Tuint16_t(719), Tuint16_t(719), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719),
 67987  	Tuint16_t(722), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67988  
 67989  	// block 64
 67990  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 67991  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(726), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723),
 67992  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(727), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(728), Tuint16_t(723), Tuint16_t(724), Tuint16_t(729), Tuint16_t(730), Tuint16_t(731), Tuint16_t(724), Tuint16_t(724), Tuint16_t(732), Tuint16_t(725),
 67993  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(733), Tuint16_t(724), Tuint16_t(725), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(735), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724),
 67994  	Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(723), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(737), Tuint16_t(460),
 67995  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 67996  	Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738),
 67997  	Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739),
 67998  
 67999  	// block 65
 68000  	Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(65), Tuint16_t(66), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(58), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68001  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68002  	Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(742), Tuint16_t(742), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(45),
 68003  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68004  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(50),
 68005  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45),
 68006  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68007  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68008  
 68009  	// block 66
 68010  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68011  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(745), Tuint16_t(53), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68012  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68013  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68014  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68015  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68016  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744),
 68017  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68018  
 68019  	// block 67
 68020  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68021  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68022  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68023  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68024  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68025  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68026  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68027  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68028  
 68029  	// block 68
 68030  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68031  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68032  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(749), Tuint16_t(750), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68033  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68034  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68035  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68036  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68037  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(45), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68038  
 68039  	// block 69
 68040  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68041  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68042  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68043  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68044  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47),
 68045  	Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68046  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47),
 68047  	Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68048  
 68049  	// block 70
 68050  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68051  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68052  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68053  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68054  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68055  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68056  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68057  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68058  
 68059  	// block 71
 68060  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54),
 68061  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68062  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68063  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754),
 68064  	Tuint16_t(754), Tuint16_t(754), Tuint16_t(755), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754),
 68065  	Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756),
 68066  	Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68067  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68068  
 68069  	// block 72
 68070  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68071  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68072  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68073  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68074  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68075  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68076  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68077  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68078  
 68079  	// block 73
 68080  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68081  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68082  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743),
 68083  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68084  	Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743),
 68085  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68086  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68087  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(757), Tuint16_t(757), Tuint16_t(50),
 68088  
 68089  	// block 74
 68090  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(758), Tuint16_t(743), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752),
 68091  	Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(759), Tuint16_t(752), Tuint16_t(752),
 68092  	Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47),
 68093  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68094  	Tuint16_t(742), Tuint16_t(752), Tuint16_t(742), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748),
 68095  	Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47),
 68096  	Tuint16_t(742), Tuint16_t(758), Tuint16_t(758), Tuint16_t(742), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(758), Tuint16_t(758), Tuint16_t(760),
 68097  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748),
 68098  
 68099  	// block 75
 68100  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68101  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68102  	Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(761), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68103  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752),
 68104  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(47),
 68105  	Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68106  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68107  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(759), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752),
 68108  
 68109  	// block 76
 68110  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(762), Tuint16_t(762), Tuint16_t(759), Tuint16_t(759), Tuint16_t(752), Tuint16_t(47),
 68111  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45),
 68112  	Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68113  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68114  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45),
 68115  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68116  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704),
 68117  	Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68118  
 68119  	// block 77
 68120  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68121  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68122  	Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68123  	Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748),
 68124  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68125  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68126  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747),
 68127  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68128  
 68129  	// block 78
 68130  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68131  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68132  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68133  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68134  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68135  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68136  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68137  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68138  
 68139  	// block 79
 68140  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68141  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68142  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68143  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68144  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68145  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68146  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68147  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68148  
 68149  	// block 80
 68150  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746),
 68151  	Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68152  	Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68153  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68154  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68155  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68156  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68157  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50),
 68158  
 68159  	// block 81
 68160  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68161  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68162  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68163  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68164  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68165  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68166  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68167  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68168  
 68169  	// block 82
 68170  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68171  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68172  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744),
 68173  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68174  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68175  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50),
 68176  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68177  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68178  
 68179  	// block 83
 68180  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68181  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68182  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68183  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68184  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68185  	Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68186  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68187  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68188  
 68189  	// block 84
 68190  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68191  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68192  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68193  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68194  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68195  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68196  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68197  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(764), Tuint16_t(45),
 68198  
 68199  	// block 85
 68200  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68201  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68202  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68203  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68204  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68205  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68206  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(767), Tuint16_t(768), Tuint16_t(769), Tuint16_t(770), Tuint16_t(771), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(772), Tuint16_t(773), Tuint16_t(774),
 68207  	Tuint16_t(775), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(645), Tuint16_t(644), Tuint16_t(776), Tuint16_t(776),
 68208  
 68209  	// block 86
 68210  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68211  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68212  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68213  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68214  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68215  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68216  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(777), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(779),
 68217  	Tuint16_t(779), Tuint16_t(779), Tuint16_t(211), Tuint16_t(212), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(781), Tuint16_t(780), Tuint16_t(780),
 68218  
 68219  	// block 87
 68220  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782),
 68221  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782),
 68222  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163),
 68223  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68224  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68225  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68226  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(784),
 68227  	Tuint16_t(785), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(786),
 68228  
 68229  	// block 88
 68230  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 68231  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68232  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68233  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68234  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68235  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68236  	Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787),
 68237  	Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787),
 68238  
 68239  	// block 89
 68240  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43),
 68241  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43),
 68242  	Tuint16_t(788), Tuint16_t(789), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(699), Tuint16_t(790),
 68243  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(680), Tuint16_t(699), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43),
 68244  	Tuint16_t(680), Tuint16_t(791), Tuint16_t(684), Tuint16_t(792), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(791), Tuint16_t(43), Tuint16_t(791), Tuint16_t(791),
 68245  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(43), Tuint16_t(699), Tuint16_t(699), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(680), Tuint16_t(753), Tuint16_t(753),
 68246  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68247  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68248  
 68249  	// block 90
 68250  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68251  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68252  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68253  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68254  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68255  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68256  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68257  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68258  
 68259  	// block 91
 68260  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68261  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68262  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68263  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68264  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68265  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68266  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68267  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68268  
 68269  	// block 92
 68270  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68271  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68272  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68273  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68274  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68275  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68276  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68277  	Tuint16_t(794), Tuint16_t(794), Tuint16_t(795), Tuint16_t(795), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68278  
 68279  	// block 93
 68280  	Tuint16_t(675), Tuint16_t(796), Tuint16_t(797), Tuint16_t(798), Tuint16_t(723), Tuint16_t(799), Tuint16_t(800), Tuint16_t(801), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(804), Tuint16_t(805), Tuint16_t(804), Tuint16_t(805),
 68281  	Tuint16_t(802), Tuint16_t(803), Tuint16_t(45), Tuint16_t(806), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(807), Tuint16_t(808), Tuint16_t(809), Tuint16_t(809),
 68282  	Tuint16_t(45), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(811), Tuint16_t(811),
 68283  	Tuint16_t(812), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(723), Tuint16_t(814), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(815), Tuint16_t(816), Tuint16_t(817), Tuint16_t(818), Tuint16_t(818),
 68284  	Tuint16_t(163), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68285  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68286  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68287  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68288  
 68289  	// block 94
 68290  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68291  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(820), Tuint16_t(820), Tuint16_t(821), Tuint16_t(821), Tuint16_t(822), Tuint16_t(822), Tuint16_t(819),
 68292  	Tuint16_t(823), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68293  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68294  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68295  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68296  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68297  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(825), Tuint16_t(826), Tuint16_t(827), Tuint16_t(827), Tuint16_t(824),
 68298  
 68299  	// block 95
 68300  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68301  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68302  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68303  	Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68304  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68305  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68306  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68307  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68308  
 68309  	// block 96
 68310  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163),
 68311  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68312  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68313  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68314  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818),
 68315  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818),
 68316  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68317  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68318  
 68319  	// block 97
 68320  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833),
 68321  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(163),
 68322  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68323  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68324  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835),
 68325  	Tuint16_t(723), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68326  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833),
 68327  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(834), Tuint16_t(460),
 68328  
 68329  	// block 98
 68330  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68331  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68332  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68333  	Tuint16_t(831), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68334  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68335  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68336  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68337  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831),
 68338  
 68339  	// block 99
 68340  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68341  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68342  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68343  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68344  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68345  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68346  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68347  	Tuint16_t(831), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68348  
 68349  	// block 100
 68350  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68351  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68352  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68353  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68354  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68355  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723),
 68356  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68357  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723),
 68358  
 68359  	// block 101
 68360  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68361  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68362  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68363  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68364  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68365  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68366  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68367  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68368  
 68369  	// block 102
 68370  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68371  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68372  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68373  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68374  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68375  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68376  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68377  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68378  
 68379  	// block 103
 68380  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68381  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(840), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68382  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68383  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68384  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68385  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68386  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68387  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68388  
 68389  	// block 104
 68390  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68391  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68392  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68393  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68394  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68395  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68396  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68397  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68398  
 68399  	// block 105
 68400  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68401  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68402  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68403  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68404  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68405  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842),
 68406  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842),
 68407  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(844), Tuint16_t(845),
 68408  
 68409  	// block 106
 68410  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68411  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68412  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68413  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68414  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68415  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68416  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68417  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68418  
 68419  	// block 107
 68420  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(847), Tuint16_t(848), Tuint16_t(849), Tuint16_t(849),
 68421  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68422  	Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(846), Tuint16_t(846), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68423  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68424  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(851), Tuint16_t(852), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68425  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68426  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(853), Tuint16_t(246),
 68427  	Tuint16_t(248), Tuint16_t(248), Tuint16_t(248), Tuint16_t(854), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(855), Tuint16_t(855), Tuint16_t(854), Tuint16_t(856),
 68428  
 68429  	// block 108
 68430  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68431  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(857), Tuint16_t(857), Tuint16_t(787), Tuint16_t(787),
 68432  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68433  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68434  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68435  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68436  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859),
 68437  	Tuint16_t(860), Tuint16_t(860), Tuint16_t(861), Tuint16_t(862), Tuint16_t(863), Tuint16_t(863), Tuint16_t(863), Tuint16_t(862), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68438  
 68439  	// block 109
 68440  	Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 68441  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149),
 68442  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68443  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68444  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68445  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68446  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68447  	Tuint16_t(644), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(865), Tuint16_t(65), Tuint16_t(66),
 68448  
 68449  	// block 110
 68450  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(149), Tuint16_t(866), Tuint16_t(866), Tuint16_t(65), Tuint16_t(66), Tuint16_t(867), Tuint16_t(70), Tuint16_t(92),
 68451  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(868), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68452  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(869), Tuint16_t(870), Tuint16_t(871), Tuint16_t(872), Tuint16_t(869), Tuint16_t(70),
 68453  	Tuint16_t(873), Tuint16_t(874), Tuint16_t(875), Tuint16_t(876), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68454  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(877), Tuint16_t(878), Tuint16_t(879), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68455  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(70), Tuint16_t(163), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68456  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68457  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(880), Tuint16_t(880), Tuint16_t(880), Tuint16_t(65), Tuint16_t(66), Tuint16_t(92), Tuint16_t(147), Tuint16_t(147), Tuint16_t(70), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92),
 68458  
 68459  	// block 111
 68460  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(883), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881),
 68461  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881),
 68462  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(884), Tuint16_t(884), Tuint16_t(882), Tuint16_t(882), Tuint16_t(884), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(883), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68463  	Tuint16_t(886), Tuint16_t(886), Tuint16_t(886), Tuint16_t(887), Tuint16_t(887), Tuint16_t(887), Tuint16_t(888), Tuint16_t(888), Tuint16_t(889), Tuint16_t(890), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68464  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68465  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68466  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68467  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(892), Tuint16_t(892), Tuint16_t(893), Tuint16_t(893), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68468  
 68469  	// block 112
 68470  	Tuint16_t(894), Tuint16_t(894), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68471  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68472  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68473  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894),
 68474  	Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(896), Tuint16_t(897), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(898), Tuint16_t(898),
 68475  	Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68476  	Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336),
 68477  	Tuint16_t(336), Tuint16_t(900), Tuint16_t(335), Tuint16_t(901), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(343), Tuint16_t(343), Tuint16_t(343), Tuint16_t(335), Tuint16_t(343), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333),
 68478  
 68479  	// block 113
 68480  	Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903),
 68481  	Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903),
 68482  	Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(905), Tuint16_t(905), Tuint16_t(905), Tuint16_t(906), Tuint16_t(907),
 68483  	Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908),
 68484  	Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909),
 68485  	Tuint16_t(909), Tuint16_t(909), Tuint16_t(910), Tuint16_t(911), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(912),
 68486  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 68487  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68488  
 68489  	// block 114
 68490  	Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68491  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68492  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68493  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(916), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914),
 68494  	Tuint16_t(917), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(919), Tuint16_t(920), Tuint16_t(920), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(163), Tuint16_t(921),
 68495  	Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(918), Tuint16_t(918),
 68496  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(471), Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 68497  	Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(163),
 68498  
 68499  	// block 115
 68500  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924),
 68501  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924),
 68502  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926),
 68503  	Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926), Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68504  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(926), Tuint16_t(163), Tuint16_t(163),
 68505  	Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(163), Tuint16_t(163), Tuint16_t(928), Tuint16_t(929), Tuint16_t(929), Tuint16_t(929),
 68506  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 68507  	Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(473), Tuint16_t(473), Tuint16_t(473), Tuint16_t(461), Tuint16_t(470), Tuint16_t(471), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461),
 68508  
 68509  	// block 116
 68510  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68511  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68512  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68513  	Tuint16_t(931), Tuint16_t(930), Tuint16_t(931), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(932), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(930), Tuint16_t(932), Tuint16_t(932), Tuint16_t(930), Tuint16_t(931), Tuint16_t(933),
 68514  	Tuint16_t(934), Tuint16_t(933), Tuint16_t(934), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68515  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(930), Tuint16_t(930), Tuint16_t(935), Tuint16_t(936), Tuint16_t(937),
 68516  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(940), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939),
 68517  	Tuint16_t(941), Tuint16_t(941), Tuint16_t(938), Tuint16_t(942), Tuint16_t(942), Tuint16_t(939), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68518  
 68519  	// block 117
 68520  	Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68521  	Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68522  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68523  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 68524  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 68525  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(944), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(866), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68526  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(945), Tuint16_t(46), Tuint16_t(46), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68527  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68528  
 68529  	// block 118
 68530  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68531  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68532  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68533  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68534  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938),
 68535  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938),
 68536  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(941), Tuint16_t(947), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163),
 68537  	Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68538  
 68539  	// block 119
 68540  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68541  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68542  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68543  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68544  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68545  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68546  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68547  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68548  
 68549  	// block 120
 68550  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68551  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68552  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68553  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68554  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68555  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68556  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68557  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68558  
 68559  	// block 121
 68560  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68561  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68562  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68563  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68564  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68565  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68566  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68567  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68568  
 68569  	// block 122
 68570  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68571  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68572  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68573  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68574  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68575  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68576  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68577  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68578  
 68579  	// block 123
 68580  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68581  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68582  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68583  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68584  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68585  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68586  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68587  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68588  
 68589  	// block 124
 68590  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68591  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68592  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68593  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68594  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68595  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68596  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68597  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68598  
 68599  	// block 125
 68600  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68601  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68602  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68603  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68604  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68605  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68606  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68607  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68608  
 68609  	// block 126
 68610  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68611  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68612  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68613  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 68614  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68615  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68616  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68617  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68618  
 68619  	// block 127
 68620  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68621  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68622  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68623  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68624  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68625  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68626  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68627  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68628  
 68629  	// block 128
 68630  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68631  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68632  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68633  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68634  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68635  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68636  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68637  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68638  
 68639  	// block 129
 68640  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68641  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68642  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68643  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68644  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68645  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68646  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68647  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68648  
 68649  	// block 130
 68650  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838),
 68651  	Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838),
 68652  	Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68653  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68654  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68655  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68656  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163),
 68657  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68658  
 68659  	// block 131
 68660  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68661  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68662  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68663  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68664  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68665  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68666  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68667  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68668  
 68669  	// block 132
 68670  	Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68671  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(270), Tuint16_t(265), Tuint16_t(270),
 68672  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(954), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 68673  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(262),
 68674  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 68675  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68676  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68677  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68678  
 68679  	// block 133
 68680  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68681  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68682  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68683  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331),
 68684  	Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 68685  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68686  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68687  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68688  
 68689  	// block 134
 68690  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68691  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68692  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68693  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68694  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68695  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955),
 68696  	Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68697  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68698  
 68699  	// block 135
 68700  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68701  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68702  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68703  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68704  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68705  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68706  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68707  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68708  
 68709  	// block 136
 68710  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68711  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68712  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68713  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(956), Tuint16_t(957),
 68714  	Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280),
 68715  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68716  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68717  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68718  
 68719  	// block 137
 68720  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68721  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68722  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68723  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68724  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(280),
 68725  	Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958),
 68726  	Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958),
 68727  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(959), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955), Tuint16_t(277), Tuint16_t(960), Tuint16_t(280), Tuint16_t(280),
 68728  
 68729  	// block 138
 68730  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(962),
 68731  	Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(964), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68732  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(855), Tuint16_t(855),
 68733  	Tuint16_t(963), Tuint16_t(967), Tuint16_t(967), Tuint16_t(700), Tuint16_t(700), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965),
 68734  	Tuint16_t(966), Tuint16_t(968), Tuint16_t(969), Tuint16_t(968), Tuint16_t(969), Tuint16_t(798), Tuint16_t(798), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(700), Tuint16_t(700), Tuint16_t(700),
 68735  	Tuint16_t(970), Tuint16_t(166), Tuint16_t(971), Tuint16_t(163), Tuint16_t(166), Tuint16_t(972), Tuint16_t(973), Tuint16_t(973), Tuint16_t(967), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(976),
 68736  	Tuint16_t(963), Tuint16_t(977), Tuint16_t(713), Tuint16_t(978), Tuint16_t(979), Tuint16_t(979), Tuint16_t(715), Tuint16_t(163), Tuint16_t(977), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68737  	Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(302), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286),
 68738  
 68739  	// block 139
 68740  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68741  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68742  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68743  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68744  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68745  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68746  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68747  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(51),
 68748  
 68749  	// block 140
 68750  	Tuint16_t(163), Tuint16_t(973), Tuint16_t(980), Tuint16_t(976), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(981), Tuint16_t(974), Tuint16_t(975), Tuint16_t(963), Tuint16_t(713), Tuint16_t(970), Tuint16_t(982), Tuint16_t(971), Tuint16_t(983),
 68751  	Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(972), Tuint16_t(166), Tuint16_t(979), Tuint16_t(715), Tuint16_t(979), Tuint16_t(973),
 68752  	Tuint16_t(963), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59),
 68753  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(974), Tuint16_t(977), Tuint16_t(975), Tuint16_t(986), Tuint16_t(700),
 68754  	Tuint16_t(46), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62),
 68755  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(974), Tuint16_t(715), Tuint16_t(975), Tuint16_t(715), Tuint16_t(974),
 68756  	Tuint16_t(975), Tuint16_t(988), Tuint16_t(989), Tuint16_t(990), Tuint16_t(991), Tuint16_t(825), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68757  	Tuint16_t(826), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68758  
 68759  	// block 141
 68760  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68761  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(992), Tuint16_t(992),
 68762  	Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68763  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163),
 68764  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68765  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68766  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(715), Tuint16_t(46), Tuint16_t(723), Tuint16_t(431), Tuint16_t(431), Tuint16_t(163), Tuint16_t(723), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163),
 68767  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(993), Tuint16_t(993), Tuint16_t(993), Tuint16_t(723), Tuint16_t(723), Tuint16_t(958), Tuint16_t(958),
 68768  
 68769  	// block 142
 68770  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68771  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68772  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68773  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994),
 68774  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163),
 68775  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163),
 68776  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68777  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68778  
 68779  	// block 143
 68780  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68781  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68782  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68783  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68784  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68785  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68786  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68787  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68788  
 68789  	// block 144
 68790  	Tuint16_t(995), Tuint16_t(996), Tuint16_t(997), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68791  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68792  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68793  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999),
 68794  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68795  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68796  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68797  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 68798  
 68799  	// block 145
 68800  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1003), Tuint16_t(1003), Tuint16_t(163),
 68801  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68802  	Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68803  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68804  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68805  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68806  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68807  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(158), Tuint16_t(163), Tuint16_t(163),
 68808  
 68809  	// block 146
 68810  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68811  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68812  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68813  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68814  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68815  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68816  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68817  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68818  
 68819  	// block 147
 68820  	Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004),
 68821  	Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68822  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68823  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68824  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68825  	Tuint16_t(1005), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68826  	Tuint16_t(1006), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007),
 68827  	Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68828  
 68829  	// block 148
 68830  	Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68831  	Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68832  	Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68833  	Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010),
 68834  	Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68835  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012),
 68836  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012),
 68837  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68838  
 68839  	// block 149
 68840  	Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014),
 68841  	Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(163), Tuint16_t(1015),
 68842  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68843  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68844  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68845  	Tuint16_t(1017), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68846  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68847  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68848  
 68849  	// block 150
 68850  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019),
 68851  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019),
 68852  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68853  	Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68854  	Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68855  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68856  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68857  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68858  
 68859  	// block 151
 68860  	Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022),
 68861  	Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(163), Tuint16_t(163),
 68862  	Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68863  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024),
 68864  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024),
 68865  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025),
 68866  	Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025),
 68867  	Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68868  
 68869  	// block 152
 68870  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026),
 68871  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026),
 68872  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68873  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68874  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68875  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68876  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1028),
 68877  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029),
 68878  
 68879  	// block 153
 68880  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029),
 68881  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030),
 68882  	Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030),
 68883  	Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68884  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68885  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68886  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68887  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68888  
 68889  	// block 154
 68890  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68891  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68892  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68893  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68894  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68895  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68896  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68897  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68898  
 68899  	// block 155
 68900  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68901  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68902  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68903  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68904  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68905  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68906  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68907  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68908  
 68909  	// block 156
 68910  	Tuint16_t(147), Tuint16_t(1032), Tuint16_t(1032), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68911  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68912  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68913  	Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68914  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68915  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68916  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68917  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68918  
 68919  	// block 157
 68920  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68921  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68922  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68923  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033),
 68924  	Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034),
 68925  	Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(262), Tuint16_t(1035), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036),
 68926  	Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037),
 68927  	Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1038), Tuint16_t(1038), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039),
 68928  
 68929  	// block 158
 68930  	Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040),
 68931  	Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(262),
 68932  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041),
 68933  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68934  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68935  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68936  	Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042),
 68937  	Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043),
 68938  
 68939  	// block 159
 68940  	Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044),
 68941  	Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1046),
 68942  	Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047),
 68943  	Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1048),
 68944  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68945  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68946  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68947  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68948  
 68949  	// block 160
 68950  	Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049),
 68951  	Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049),
 68952  	Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050),
 68953  	Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1050), Tuint16_t(1050),
 68954  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68955  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68956  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68957  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68958  
 68959  	// block 161
 68960  	Tuint16_t(1052), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053),
 68961  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052),
 68962  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052),
 68963  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1055),
 68964  	Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68965  	Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1058), Tuint16_t(1058), Tuint16_t(1057), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68966  	Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059),
 68967  	Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1060), Tuint16_t(1060), Tuint16_t(1061),
 68968  
 68969  	// block 162
 68970  	Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062),
 68971  	Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1063), Tuint16_t(1063), Tuint16_t(1063),
 68972  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68973  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68974  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1065), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064),
 68975  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064),
 68976  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1066), Tuint16_t(1066), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067),
 68977  	Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1069), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1070), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68978  
 68979  	// block 163
 68980  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68981  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68982  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68983  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1072), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073),
 68984  	Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074),
 68985  	Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075),
 68986  	Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076),
 68987  	Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077),
 68988  
 68989  	// block 164
 68990  	Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078),
 68991  	Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68992  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080),
 68993  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68994  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68995  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68996  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68997  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68998  
 68999  	// block 165
 69000  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69001  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69002  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69003  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69004  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69005  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69006  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69007  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69008  
 69009  	// block 166
 69010  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69011  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69012  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69013  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69014  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69015  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69016  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69017  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084),
 69018  
 69019  	// block 167
 69020  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085),
 69021  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085),
 69022  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1086), Tuint16_t(1086), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69023  	Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69024  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69025  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69026  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69027  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69028  
 69029  	// block 168
 69030  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69031  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69032  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69033  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69034  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69035  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69036  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69037  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69038  
 69039  	// block 169
 69040  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69041  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69042  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69043  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69044  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69045  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69046  	Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089),
 69047  	Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(262),
 69048  
 69049  	// block 170
 69050  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090),
 69051  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090),
 69052  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(1091), Tuint16_t(1091), Tuint16_t(1092), Tuint16_t(262), Tuint16_t(262),
 69053  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69054  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69055  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69056  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69057  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69058  
 69059  	// block 171
 69060  	Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093),
 69061  	Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094),
 69062  	Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1093), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69063  	Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095),
 69064  	Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096),
 69065  	Tuint16_t(1096), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69066  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69067  	Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099),
 69068  
 69069  	// block 172
 69070  	Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69071  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69072  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69073  	Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102),
 69074  	Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69075  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69076  	Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104),
 69077  	Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69078  
 69079  	// block 173
 69080  	Tuint16_t(1105), Tuint16_t(1106), Tuint16_t(1105), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69081  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69082  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69083  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106),
 69084  	Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1108), Tuint16_t(1109), Tuint16_t(1109), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(163), Tuint16_t(163),
 69085  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111),
 69086  	Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112),
 69087  	Tuint16_t(1108), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1107), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1113),
 69088  
 69089  	// block 174
 69090  	Tuint16_t(1114), Tuint16_t(1114), Tuint16_t(1115), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69091  	Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69092  	Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69093  	Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1118), Tuint16_t(1119), Tuint16_t(1120), Tuint16_t(1120), Tuint16_t(1121), Tuint16_t(1122), Tuint16_t(1122),
 69094  	Tuint16_t(1122), Tuint16_t(1122), Tuint16_t(1117), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1121), Tuint16_t(163), Tuint16_t(163),
 69095  	Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123),
 69096  	Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69097  	Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69098  
 69099  	// block 175
 69100  	Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126),
 69101  	Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126),
 69102  	Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1127), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125),
 69103  	Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1128), Tuint16_t(1128), Tuint16_t(163), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129),
 69104  	Tuint16_t(1130), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1126), Tuint16_t(1127), Tuint16_t(1127), Tuint16_t(1126), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69105  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132),
 69106  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132),
 69107  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1133), Tuint16_t(1134), Tuint16_t(1134), Tuint16_t(1132), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69108  
 69109  	// block 176
 69110  	Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69111  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69112  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69113  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136),
 69114  	Tuint16_t(1138), Tuint16_t(1137), Tuint16_t(1139), Tuint16_t(1139), Tuint16_t(1137), Tuint16_t(1140), Tuint16_t(1140), Tuint16_t(1141), Tuint16_t(1141), Tuint16_t(1142), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1140), Tuint16_t(1136), Tuint16_t(1135),
 69115  	Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1140), Tuint16_t(1140),
 69116  	Tuint16_t(163), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145),
 69117  	Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69118  
 69119  	// block 177
 69120  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146),
 69121  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(163), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146),
 69122  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148),
 69123  	Tuint16_t(1148), Tuint16_t(1148), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148), Tuint16_t(1149), Tuint16_t(1150), Tuint16_t(1148), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1152), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1153), Tuint16_t(1148), Tuint16_t(163),
 69124  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69125  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69126  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69127  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69128  
 69129  	// block 178
 69130  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154),
 69131  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154),
 69132  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1155), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69133  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156),
 69134  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156),
 69135  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1157),
 69136  	Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1159), Tuint16_t(1160), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69137  	Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69138  
 69139  	// block 179
 69140  	Tuint16_t(1162), Tuint16_t(1163), Tuint16_t(1164), Tuint16_t(1165), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166),
 69141  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166),
 69142  	Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166),
 69143  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1167), Tuint16_t(1168), Tuint16_t(1166), Tuint16_t(1169), Tuint16_t(1164),
 69144  	Tuint16_t(1162), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1170), Tuint16_t(163), Tuint16_t(163),
 69145  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1169), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1171), Tuint16_t(1166), Tuint16_t(1166),
 69146  	Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69147  	Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69148  
 69149  	// block 180
 69150  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69151  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69152  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69153  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175),
 69154  	Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1176), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1174), Tuint16_t(1177), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1178), Tuint16_t(1178), Tuint16_t(1179), Tuint16_t(1180), Tuint16_t(1180),
 69155  	Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1179), Tuint16_t(1179), Tuint16_t(163), Tuint16_t(1180), Tuint16_t(1182), Tuint16_t(1173),
 69156  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69157  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69158  
 69159  	// block 181
 69160  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69161  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69162  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69163  	Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1186),
 69164  	Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1187), Tuint16_t(1188), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1189), Tuint16_t(1183), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69165  	Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69166  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69167  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69168  
 69169  	// block 182
 69170  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191),
 69171  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191),
 69172  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1192),
 69173  	Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1193), Tuint16_t(1195),
 69174  	Tuint16_t(1196), Tuint16_t(1197), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1199), Tuint16_t(1199), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198),
 69175  	Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163),
 69176  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69177  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69178  
 69179  	// block 183
 69180  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69181  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69182  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69183  	Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1204),
 69184  	Tuint16_t(1203), Tuint16_t(1205), Tuint16_t(1205), Tuint16_t(1206), Tuint16_t(1201), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69185  	Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69186  	Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69187  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69188  
 69189  	// block 184
 69190  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208),
 69191  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208),
 69192  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1210),
 69193  	Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1211), Tuint16_t(1212), Tuint16_t(1208), Tuint16_t(1213), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69194  	Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69195  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69196  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69197  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69198  
 69199  	// block 185
 69200  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215),
 69201  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216),
 69202  	Tuint16_t(1217), Tuint16_t(1217), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1218), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1219), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69203  	Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1221), Tuint16_t(1221), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1223),
 69204  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69205  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69206  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69207  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69208  
 69209  	// block 186
 69210  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224),
 69211  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224),
 69212  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1226),
 69213  	Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1225), Tuint16_t(1227), Tuint16_t(1228), Tuint16_t(1229), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69214  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69215  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69216  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69217  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69218  
 69219  	// block 187
 69220  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69221  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69222  	Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230),
 69223  	Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230),
 69224  	Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231),
 69225  	Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231),
 69226  	Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233),
 69227  	Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1234),
 69228  
 69229  	// block 188
 69230  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69231  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69232  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69233  	Tuint16_t(1236), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1238), Tuint16_t(1238), Tuint16_t(1239), Tuint16_t(1240), Tuint16_t(1241),
 69234  	Tuint16_t(1237), Tuint16_t(1241), Tuint16_t(1237), Tuint16_t(1242), Tuint16_t(1243), Tuint16_t(1244), Tuint16_t(1243), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69235  	Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69236  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69237  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69238  
 69239  	// block 189
 69240  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69241  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69242  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69243  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69244  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69245  	Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247),
 69246  	Tuint16_t(1249), Tuint16_t(1246), Tuint16_t(1250), Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69247  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69248  
 69249  	// block 190
 69250  	Tuint16_t(1251), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1253), Tuint16_t(1253), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69251  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69252  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69253  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1254), Tuint16_t(1255), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1256), Tuint16_t(1257), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1258),
 69254  	Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1259), Tuint16_t(1259), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1255), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69255  	Tuint16_t(1260), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1262), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69256  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69257  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69258  
 69259  	// block 191
 69260  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261),
 69261  	Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1264), Tuint16_t(1265), Tuint16_t(1266), Tuint16_t(1267), Tuint16_t(1267), Tuint16_t(1260), Tuint16_t(1266), Tuint16_t(1266),
 69262  	Tuint16_t(1266), Tuint16_t(1268), Tuint16_t(1268), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69263  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 69264  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69265  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69266  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69267  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69268  
 69269  	// block 192
 69270  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(163), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270),
 69271  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270),
 69272  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1271),
 69273  	Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(163), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1271), Tuint16_t(1273),
 69274  	Tuint16_t(1270), Tuint16_t(1274), Tuint16_t(1274), Tuint16_t(1275), Tuint16_t(1276), Tuint16_t(1276), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69275  	Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278),
 69276  	Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69277  	Tuint16_t(1279), Tuint16_t(1280), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281),
 69278  
 69279  	// block 193
 69280  	Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281),
 69281  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282),
 69282  	Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282),
 69283  	Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69284  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69285  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69286  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69287  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69288  
 69289  	// block 194
 69290  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69291  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69292  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69293  	Tuint16_t(1284), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285),
 69294  	Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1286), Tuint16_t(1285), Tuint16_t(1287), Tuint16_t(1287), Tuint16_t(1288), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69295  	Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69296  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290),
 69297  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290),
 69298  
 69299  	// block 195
 69300  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(163),
 69301  	Tuint16_t(1292), Tuint16_t(1292), Tuint16_t(163), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1292), Tuint16_t(1291), Tuint16_t(1293), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69302  	Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69303  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69304  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69305  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69306  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69307  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69308  
 69309  	// block 196
 69310  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69311  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69312  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69313  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69314  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69315  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69316  	Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295),
 69317  	Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1296), Tuint16_t(1296), Tuint16_t(1297), Tuint16_t(1297), Tuint16_t(1298), Tuint16_t(1298), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69318  
 69319  	// block 197
 69320  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69321  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69322  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69323  	Tuint16_t(842), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69324  	Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299),
 69325  	Tuint16_t(388), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(391), Tuint16_t(391),
 69326  	Tuint16_t(391), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390),
 69327  	Tuint16_t(390), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1300),
 69328  
 69329  	// block 198
 69330  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69331  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69332  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69333  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69334  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69335  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69336  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69337  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69338  
 69339  	// block 199
 69340  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69341  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69342  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69343  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69344  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69345  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69346  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69347  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69348  
 69349  	// block 200
 69350  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69351  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69352  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69353  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69354  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69355  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69356  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(163),
 69357  	Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69358  
 69359  	// block 201
 69360  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69361  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69362  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69363  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69364  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69365  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69366  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69367  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69368  
 69369  	// block 202
 69370  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69371  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69372  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69373  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69374  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69375  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69376  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69377  	Tuint16_t(1304), Tuint16_t(1305), Tuint16_t(1305), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69378  
 69379  	// block 203
 69380  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69381  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69382  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69383  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69384  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69385  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69386  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69387  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69388  
 69389  	// block 204
 69390  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69391  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69392  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(163),
 69393  	Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69394  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69395  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69396  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69397  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69398  
 69399  	// block 205
 69400  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69401  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69402  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69403  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69404  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69405  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69406  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69407  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69408  
 69409  	// block 206
 69410  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69411  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69412  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69413  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69414  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69415  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69416  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69417  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69418  
 69419  	// block 207
 69420  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69421  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69422  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69423  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69424  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69425  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69426  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69427  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69428  
 69429  	// block 208
 69430  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69431  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69432  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69433  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69434  	Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309),
 69435  	Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(163),
 69436  	Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1311), Tuint16_t(1311),
 69437  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69438  
 69439  	// block 209
 69440  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69441  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69442  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69443  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(163),
 69444  	Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69445  	Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314),
 69446  	Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(163), Tuint16_t(163),
 69447  	Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1316), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69448  
 69449  	// block 210
 69450  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69451  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69452  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69453  	Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1319), Tuint16_t(1319), Tuint16_t(1320), Tuint16_t(1321), Tuint16_t(1321), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322),
 69454  	Tuint16_t(1323), Tuint16_t(1323), Tuint16_t(1324), Tuint16_t(1324), Tuint16_t(1319), Tuint16_t(1322), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69455  	Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(163), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326),
 69456  	Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69457  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69458  
 69459  	// block 211
 69460  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69461  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69462  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69463  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69464  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69465  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69466  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69467  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69468  
 69469  	// block 212
 69470  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69471  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69472  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69473  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69474  	Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327),
 69475  	Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327),
 69476  	Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328),
 69477  	Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328),
 69478  
 69479  	// block 213
 69480  	Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329),
 69481  	Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1330), Tuint16_t(1331), Tuint16_t(1332), Tuint16_t(1332), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69482  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69483  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69484  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69485  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69486  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69487  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69488  
 69489  	// block 214
 69490  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69491  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69492  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69493  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69494  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1334),
 69495  	Tuint16_t(1333), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69496  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69497  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69498  
 69499  	// block 215
 69500  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1336),
 69501  	Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337),
 69502  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69503  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69504  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69505  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69506  	Tuint16_t(1338), Tuint16_t(1339), Tuint16_t(1340), Tuint16_t(799), Tuint16_t(1341), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69507  	Tuint16_t(1342), Tuint16_t(1342), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69508  
 69509  	// block 216
 69510  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69511  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69512  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69513  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69514  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69515  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69516  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69517  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69518  
 69519  	// block 217
 69520  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69521  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69522  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69523  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69524  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69525  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69526  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69527  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69528  
 69529  	// block 218
 69530  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69531  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69532  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69533  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69534  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69535  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69536  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69537  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69538  
 69539  	// block 219
 69540  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69541  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69542  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69543  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69544  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69545  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69546  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69547  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69548  
 69549  	// block 220
 69550  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69551  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69552  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69553  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69554  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69555  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69556  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69557  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69558  
 69559  	// block 221
 69560  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69561  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69562  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69563  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69564  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69565  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69566  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69567  	Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163),
 69568  
 69569  	// block 222
 69570  	Tuint16_t(824), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69571  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69572  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69573  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69574  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69575  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69576  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69577  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69578  
 69579  	// block 223
 69580  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69581  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69582  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69583  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69584  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69585  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69586  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69587  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69588  
 69589  	// block 224
 69590  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69591  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69592  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69593  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69594  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69595  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69596  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69597  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69598  
 69599  	// block 225
 69600  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69601  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69602  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69603  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69604  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69605  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69606  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69607  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69608  
 69609  	// block 226
 69610  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69611  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69612  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69613  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69614  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69615  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69616  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69617  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69618  
 69619  	// block 227
 69620  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69621  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69622  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69623  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69624  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69625  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69626  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69627  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69628  
 69629  	// block 228
 69630  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69631  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1348), Tuint16_t(1349), Tuint16_t(1350), Tuint16_t(1351),
 69632  	Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69633  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69634  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69635  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69636  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69637  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69638  
 69639  	// block 229
 69640  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69641  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69642  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163),
 69643  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69644  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69645  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69646  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69647  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69648  
 69649  	// block 230
 69650  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69651  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69652  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69653  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69654  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69655  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69656  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69657  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69658  
 69659  	// block 231
 69660  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69661  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69662  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69663  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69664  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69665  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69666  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69667  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69668  
 69669  	// block 232
 69670  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69671  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69672  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69673  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69674  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69675  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69676  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69677  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69678  
 69679  	// block 233
 69680  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69681  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69682  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69683  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69684  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69685  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69686  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1353), Tuint16_t(1354), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1355), Tuint16_t(1356), Tuint16_t(1356),
 69687  	Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69688  
 69689  	// block 234
 69690  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69691  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69692  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460),
 69693  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69694  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69695  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69696  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69697  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69698  
 69699  	// block 235
 69700  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69701  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69702  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69703  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69704  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69705  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69706  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69707  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69708  
 69709  	// block 236
 69710  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69711  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69712  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69713  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69714  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69715  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69716  	Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835),
 69717  	Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69718  
 69719  	// block 237
 69720  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69721  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69722  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69723  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69724  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69725  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69726  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832),
 69727  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69728  
 69729  	// block 238
 69730  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69731  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69732  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69733  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69734  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 69735  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69736  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69737  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69738  
 69739  	// block 239
 69740  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69741  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724),
 69742  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724),
 69743  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69744  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69745  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69746  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69747  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69748  
 69749  	// block 240
 69750  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69751  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725),
 69752  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69753  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163),
 69754  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69755  	Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69756  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69757  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69758  
 69759  	// block 241
 69760  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69761  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69762  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69763  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69764  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69765  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69766  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 69767  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69768  
 69769  	// block 242
 69770  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69771  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69772  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69773  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69774  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69775  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69776  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69777  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69778  
 69779  	// block 243
 69780  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69781  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69782  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69783  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69784  	Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69785  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69786  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69787  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69788  
 69789  	// block 244
 69790  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69791  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69792  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69793  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69794  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715),
 69795  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69796  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358),
 69797  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69798  
 69799  	// block 245
 69800  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69801  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69802  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69803  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69804  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1359), Tuint16_t(1359),
 69805  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69806  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69807  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69808  
 69809  	// block 246
 69810  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69811  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69812  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69813  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69814  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69815  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69816  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69817  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69818  
 69819  	// block 247
 69820  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69821  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69822  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69823  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69824  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69825  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69826  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69827  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69828  
 69829  	// block 248
 69830  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1362), Tuint16_t(1363), Tuint16_t(1362), Tuint16_t(1362), Tuint16_t(1364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69831  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69832  	Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69833  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69834  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69835  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69836  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69837  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69838  
 69839  	// block 249
 69840  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 69841  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(163),
 69842  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69843  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69844  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69845  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69846  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69847  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69848  
 69849  	// block 250
 69850  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365),
 69851  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365),
 69852  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69853  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69854  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69855  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69856  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69857  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69858  
 69859  	// block 251
 69860  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366),
 69861  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366),
 69862  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69863  	Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1369), Tuint16_t(1369), Tuint16_t(163), Tuint16_t(163),
 69864  	Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1366), Tuint16_t(1371),
 69865  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69866  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69867  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69868  
 69869  	// block 252
 69870  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69871  	Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372),
 69872  	Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1373), Tuint16_t(163),
 69873  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69874  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374),
 69875  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374),
 69876  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375),
 69877  	Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1377),
 69878  
 69879  	// block 253
 69880  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69881  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69882  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69883  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69884  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69885  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69886  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 69887  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 69888  
 69889  	// block 254
 69890  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69891  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69892  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69893  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69894  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69895  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69896  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69897  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69898  
 69899  	// block 255
 69900  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69901  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69902  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69903  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69904  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379),
 69905  	Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69906  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69907  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69908  
 69909  	// block 256
 69910  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381),
 69911  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381),
 69912  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382),
 69913  	Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382),
 69914  	Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1384), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1386), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69915  	Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1388), Tuint16_t(1388),
 69916  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69917  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69918  
 69919  	// block 257
 69920  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69921  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69922  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69923  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69924  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69925  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69926  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69927  	Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69928  
 69929  	// block 258
 69930  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69931  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69932  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69933  	Tuint16_t(1391), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69934  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69935  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69936  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69937  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69938  
 69939  	// block 259
 69940  	Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69941  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69942  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389),
 69943  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302),
 69944  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69945  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69946  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69947  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69948  
 69949  	// block 260
 69950  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69951  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69952  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69953  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69954  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69955  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392),
 69956  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69957  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302),
 69958  
 69959  	// block 261
 69960  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69961  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69962  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69963  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69964  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69965  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69966  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69967  	Tuint16_t(274), Tuint16_t(274), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69968  
 69969  	// block 262
 69970  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69971  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69972  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69973  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69974  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69975  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69976  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69977  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69978  
 69979  	// block 263
 69980  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69981  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69982  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395),
 69983  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69984  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394),
 69985  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69986  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69987  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69988  
 69989  	// block 264
 69990  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(58), Tuint16_t(58), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69991  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69992  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393),
 69993  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396),
 69994  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69995  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396),
 69996  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69997  	Tuint16_t(1397), Tuint16_t(1397), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1397), Tuint16_t(1397),
 69998  
 69999  	// block 265
 70000  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460),
 70001  	Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 70002  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395),
 70003  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70004  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70005  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70006  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399),
 70007  	Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399),
 70008  
 70009  	// block 266
 70010  	Tuint16_t(1400), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70011  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 70012  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398),
 70013  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70014  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70015  	Tuint16_t(1402), Tuint16_t(1402), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70016  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70017  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70018  
 70019  	// block 267
 70020  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70021  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70022  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70023  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70024  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70025  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70026  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70027  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70028  
 70029  	// block 268
 70030  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70031  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70032  	Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70033  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70034  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70035  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70036  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70037  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394),
 70038  
 70039  	// block 269
 70040  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70041  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727),
 70042  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70043  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70044  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394),
 70045  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727),
 70046  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70047  	Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405),
 70048  
 70049  	// block 270
 70050  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70051  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70052  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70053  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727),
 70054  	Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70055  	Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70056  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70057  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70058  
 70059  	// block 271
 70060  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403),
 70061  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70062  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70063  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70064  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70065  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70066  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70067  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394),
 70068  
 70069  	// block 272
 70070  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70071  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70072  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70073  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(723),
 70074  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393),
 70075  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70076  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727),
 70077  	Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70078  
 70079  	// block 273
 70080  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393),
 70081  	Tuint16_t(1404), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70082  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70083  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70084  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70085  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393),
 70086  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727),
 70087  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70088  
 70089  	// block 274
 70090  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70091  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70092  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70093  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70094  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70095  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70096  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70097  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70098  
 70099  	// block 275
 70100  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70101  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70102  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70103  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70104  	Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727),
 70105  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70106  	Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70107  	Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70108  
 70109  	// block 276
 70110  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70111  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70112  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70113  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70114  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70115  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70116  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70117  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70118  
 70119  	// block 277
 70120  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70121  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70122  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70123  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70124  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70125  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70126  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70127  	Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70128  
 70129  	// block 278
 70130  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70131  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70132  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70133  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70134  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70135  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70136  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70137  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70138  
 70139  	// block 279
 70140  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70141  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70142  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395),
 70143  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70144  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70145  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70146  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70147  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70148  
 70149  	// block 280
 70150  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403),
 70151  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70152  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70153  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394),
 70154  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70155  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70156  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70157  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70158  
 70159  	// block 281
 70160  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70161  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70162  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70163  	Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70164  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70165  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394),
 70166  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70167  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70168  
 70169  	// block 282
 70170  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70171  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70172  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70173  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70174  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70175  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70176  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395),
 70177  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70178  
 70179  	// block 283
 70180  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70181  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70182  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70183  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70184  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70185  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70186  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70187  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70188  
 70189  	// block 284
 70190  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70191  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70192  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70193  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70194  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70195  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70196  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70197  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70198  
 70199  	// block 285
 70200  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70201  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70202  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70203  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70204  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70205  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70206  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70207  	Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70208  
 70209  	// block 286
 70210  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70211  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70212  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70213  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70214  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70215  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70216  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70217  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(958), Tuint16_t(958),
 70218  
 70219  	// block 287
 70220  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70221  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70222  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70223  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70224  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70225  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70226  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70227  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70228  
 70229  	// block 288
 70230  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70231  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70232  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70233  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70234  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70235  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70236  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70237  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70238  
 70239  	// block 289
 70240  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70241  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163),
 70242  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70243  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70244  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70245  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70246  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70247  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70248  
 70249  	// block 290
 70250  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70251  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70252  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70253  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70254  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70255  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70256  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70257  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70258  
 70259  	// block 291
 70260  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70261  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70262  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70263  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70264  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70265  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70266  	Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70267  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70268  
 70269  	// block 292
 70270  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 70271  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163),
 70272  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70273  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70274  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70275  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70276  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70277  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70278  
 70279  	// block 293
 70280  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70281  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70282  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70283  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70284  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70285  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70286  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70287  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(958), Tuint16_t(958),
 70288  
 70289  	// block 294
 70290  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70291  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70292  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70293  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70294  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70295  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70296  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70297  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70298  
 70299  	// block 295
 70300  	Tuint16_t(707), Tuint16_t(712), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70301  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70302  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70303  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70304  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70305  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70306  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70307  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70308  
 70309  	// block 296
 70310  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70311  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70312  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70313  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70314  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70315  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70316  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70317  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70318  
 70319  	// block 297
 70320  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70321  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70322  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70323  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70324  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70325  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70326  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70327  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70328  
 70329  	// block 298
 70330  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70331  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70332  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70333  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70334  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70335  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70336  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70337  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70338  
 70339  	// block 299
 70340  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70341  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70342  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70343  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70344  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70345  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70346  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70347  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(958), Tuint16_t(958),
 70348  } /* pcre2_ucd.c:2386:16 */
 70349  
 70350  // End of pcre2_ucd.c
 70351  
 70352  // This function is needed only when memmove() is not available.
 70353  
 70354  // End of pcre2_internal.h
 70355  
 70356  // ************************************************
 70357  //
 70358  //           Validate a UTF string                *
 70359  //
 70360  
 70361  // This function is called (optionally) at the start of compile or match, to
 70362  // check that a supposed UTF string is actually valid. The early check means
 70363  // that subsequent code can assume it is dealing with a valid string. The check
 70364  // can be turned off for maximum performance, but the consequences of supplying an
 70365  // invalid string are then undefined.
 70366  //
 70367  // Arguments:
 70368  //   string       points to the string
 70369  //   length       length of string
 70370  //   errp         pointer to an error position offset variable
 70371  //
 70372  // Returns:       == 0    if the string is a valid UTF string
 70373  //                != 0    otherwise, setting the offset of the bad character
 70374  
 70375  func X_pcre2_valid_utf_8(tls *libc.TLS, string TPCRE2_SPTR8, length Tsize_t, erroroffset uintptr) int32 { /* pcre2_valid_utf.c:94:1: */
 70376  	var p TPCRE2_SPTR8
 70377  	var c Tuint32_t
 70378  
 70379  	// ----------------- Check a UTF-8 string -----------------
 70380  
 70381  	// Originally, this function checked according to RFC 2279, allowing for values
 70382  	// in the range 0 to 0x7fffffff, up to 6 bytes long, but ensuring that they were
 70383  	// in the canonical format. Once somebody had pointed out RFC 3629 to me (it
 70384  	// obsoletes 2279), additional restrictions were applied. The values are now
 70385  	// limited to be between 0 and 0x0010ffff, no more than 4 bytes long, and the
 70386  	// subrange 0xd000 to 0xdfff is excluded. However, the format of 5-byte and 6-byte
 70387  	// characters is still checked. Error returns are as follows:
 70388  	//
 70389  	// PCRE2_ERROR_UTF8_ERR1   Missing 1 byte at the end of the string
 70390  	// PCRE2_ERROR_UTF8_ERR2   Missing 2 bytes at the end of the string
 70391  	// PCRE2_ERROR_UTF8_ERR3   Missing 3 bytes at the end of the string
 70392  	// PCRE2_ERROR_UTF8_ERR4   Missing 4 bytes at the end of the string
 70393  	// PCRE2_ERROR_UTF8_ERR5   Missing 5 bytes at the end of the string
 70394  	// PCRE2_ERROR_UTF8_ERR6   2nd-byte's two top bits are not 0x80
 70395  	// PCRE2_ERROR_UTF8_ERR7   3rd-byte's two top bits are not 0x80
 70396  	// PCRE2_ERROR_UTF8_ERR8   4th-byte's two top bits are not 0x80
 70397  	// PCRE2_ERROR_UTF8_ERR9   5th-byte's two top bits are not 0x80
 70398  	// PCRE2_ERROR_UTF8_ERR10  6th-byte's two top bits are not 0x80
 70399  	// PCRE2_ERROR_UTF8_ERR11  5-byte character is not permitted by RFC 3629
 70400  	// PCRE2_ERROR_UTF8_ERR12  6-byte character is not permitted by RFC 3629
 70401  	// PCRE2_ERROR_UTF8_ERR13  4-byte character with value > 0x10ffff is not permitted
 70402  	// PCRE2_ERROR_UTF8_ERR14  3-byte character with value 0xd800-0xdfff is not permitted
 70403  	// PCRE2_ERROR_UTF8_ERR15  Overlong 2-byte sequence
 70404  	// PCRE2_ERROR_UTF8_ERR16  Overlong 3-byte sequence
 70405  	// PCRE2_ERROR_UTF8_ERR17  Overlong 4-byte sequence
 70406  	// PCRE2_ERROR_UTF8_ERR18  Overlong 5-byte sequence (won't ever occur)
 70407  	// PCRE2_ERROR_UTF8_ERR19  Overlong 6-byte sequence (won't ever occur)
 70408  	// PCRE2_ERROR_UTF8_ERR20  Isolated 0x80 byte (not within UTF-8 character)
 70409  	// PCRE2_ERROR_UTF8_ERR21  Byte with the illegal value 0xfe or 0xff
 70410  
 70411  	for p = string; length > uint64(0); p++ {
 70412  		var ab Tuint32_t
 70413  		var d Tuint32_t
 70414  
 70415  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 70416  		length--
 70417  
 70418  		if c < Tuint32_t(128) {
 70419  			continue
 70420  		} // ASCII character
 70421  
 70422  		if c < Tuint32_t(0xc0) {
 70423  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70424  			return -22
 70425  		}
 70426  
 70427  		if c >= Tuint32_t(0xfe) {
 70428  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70429  			return -23
 70430  		}
 70431  
 70432  		ab = Tuint32_t(X_pcre2_utf8_table4[c&Tuint32_t(0x3f)]) // Number of additional bytes (1-5)
 70433  		if length < Tsize_t(ab) {
 70434  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70435  			switch Tsize_t(ab) - length {
 70436  			case uint64(1):
 70437  				return -3
 70438  				fallthrough
 70439  			case uint64(2):
 70440  				return -4
 70441  				fallthrough
 70442  			case uint64(3):
 70443  				return -5
 70444  				fallthrough
 70445  			case uint64(4):
 70446  				return -6
 70447  				fallthrough
 70448  			case uint64(5):
 70449  				return -7
 70450  			}
 70451  		}
 70452  		length = length - Tsize_t(ab) // Length remaining
 70453  
 70454  		// Check top bits in the second byte
 70455  
 70456  		if libc.AssignUint32(&d, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1)))))&Tuint32_t(0xc0) != Tuint32_t(0x80) {
 70457  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1)
 70458  			return -8
 70459  		}
 70460  
 70461  		// For each length, check that the remaining bytes start with the 0x80 bit
 70462  		//   set and not the 0x40 bit. Then check for an overlong sequence, and for the
 70463  		//   excluded range 0xd800 to 0xdfff.
 70464  
 70465  		switch ab {
 70466  		// 2-byte character. No further bytes to check for 0x80. Check first byte
 70467  		//     for for xx00 000x (overlong sequence).
 70468  
 70469  		case Tuint32_t(1):
 70470  			if c&Tuint32_t(0x3e) == Tuint32_t(0) {
 70471  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1)
 70472  				return -17
 70473  			}
 70474  			break
 70475  
 70476  		// 3-byte character. Check third byte for 0x80. Then check first 2 bytes
 70477  		//       for 1110 0000, xx0x xxxx (overlong sequence) or
 70478  		//           1110 1101, 1010 xxxx (0xd800 - 0xdfff)
 70479  
 70480  		case Tuint32_t(2):
 70481  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70482  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70483  				return -9
 70484  			}
 70485  			if c == Tuint32_t(0xe0) && d&Tuint32_t(0x20) == Tuint32_t(0) {
 70486  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70487  				return -18
 70488  			}
 70489  			if c == Tuint32_t(0xed) && d >= Tuint32_t(0xa0) {
 70490  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70491  				return -16
 70492  			}
 70493  			break
 70494  
 70495  		// 4-byte character. Check 3rd and 4th bytes for 0x80. Then check first 2
 70496  		//        bytes for for 1111 0000, xx00 xxxx (overlong sequence), then check for a
 70497  		//        character greater than 0x0010ffff (f4 8f bf bf)
 70498  
 70499  		case Tuint32_t(3):
 70500  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70501  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70502  				return -9
 70503  			}
 70504  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70505  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70506  				return -10
 70507  			}
 70508  			if c == Tuint32_t(0xf0) && d&Tuint32_t(0x30) == Tuint32_t(0) {
 70509  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70510  				return -19
 70511  			}
 70512  			if c > Tuint32_t(0xf4) || c == Tuint32_t(0xf4) && d > Tuint32_t(0x8f) {
 70513  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70514  				return -15
 70515  			}
 70516  			break
 70517  
 70518  		// 5-byte and 6-byte characters are not allowed by RFC 3629, and will be
 70519  		//     rejected by the length test below. However, we do the appropriate tests
 70520  		//     here so that overlong sequences get diagnosed, and also in case there is
 70521  		//     ever an option for handling these larger code points.
 70522  
 70523  		// 5-byte character. Check 3rd, 4th, and 5th bytes for 0x80. Then check for
 70524  		//     1111 1000, xx00 0xxx
 70525  
 70526  		case Tuint32_t(4):
 70527  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70528  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70529  				return -9
 70530  			}
 70531  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70532  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70533  				return -10
 70534  			}
 70535  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70536  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70537  				return -11
 70538  			}
 70539  			if c == Tuint32_t(0xf8) && d&Tuint32_t(0x38) == Tuint32_t(0) {
 70540  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70541  				return -20
 70542  			}
 70543  			break
 70544  
 70545  		// 6-byte character. Check 3rd-6th bytes for 0x80. Then check for
 70546  		//     1111 1100, xx00 00xx.
 70547  
 70548  		case Tuint32_t(5):
 70549  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70550  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70551  				return -9
 70552  			}
 70553  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70554  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70555  				return -10
 70556  			}
 70557  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70558  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70559  				return -11
 70560  			}
 70561  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70562  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5)
 70563  				return -12
 70564  			}
 70565  			if c == Tuint32_t(0xfc) && d&Tuint32_t(0x3c) == Tuint32_t(0) {
 70566  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5)
 70567  				return -21
 70568  			}
 70569  			break
 70570  		}
 70571  
 70572  		// Character is valid under RFC 2279, but 4-byte and 5-byte characters are
 70573  		//   excluded by RFC 3629. The pointer p is currently at the last byte of the
 70574  		//   character.
 70575  
 70576  		if ab > Tuint32_t(3) {
 70577  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(Tuint32_t(int32((int64(p)-int64(string))/1)) - ab)
 70578  			if ab == Tuint32_t(4) {
 70579  				return -13
 70580  			}
 70581  			return -14
 70582  		}
 70583  	}
 70584  	return 0
 70585  
 70586  	// ----------------- Check a UTF-16 string -----------------
 70587  
 70588  }
 70589  
 70590  // End of pcre2_valid_utf.c
 70591  
 70592  // This function is needed only when memmove() is not available.
 70593  
 70594  // End of pcre2_internal.h
 70595  
 70596  // ************************************************
 70597  //
 70598  //       Match character against an XCLASS        *
 70599  //
 70600  
 70601  // This function is called to match a character against an extended class that
 70602  // might contain codepoints above 255 and/or Unicode properties.
 70603  //
 70604  // Arguments:
 70605  //   c           the character
 70606  //   data        points to the flag code unit of the XCLASS data
 70607  //   utf         TRUE if in UTF mode
 70608  //
 70609  // Returns:      TRUE if character matches, else FALSE
 70610  
 70611  func X_pcre2_xclass_8(tls *libc.TLS, c Tuint32_t, data TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_xclass.c:69:1: */
 70612  	var t TPCRE2_UCHAR8
 70613  	var negated TBOOL = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_NOT != 0)
 70614  
 70615  	// In 8 bit mode, this must always be TRUE. Help the compiler to know that.
 70616  	utf = DTRUE
 70617  
 70618  	// Code points < 256 are matched against a bitmap, if one is present. If not,
 70619  	// we still carry on, because there may be ranges that start below 256 in the
 70620  	// additional data.
 70621  
 70622  	if c < Tuint32_t(256) {
 70623  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_HASPROP == 0 {
 70624  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP == 0 {
 70625  				return negated
 70626  			}
 70627  			return libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 70628  		}
 70629  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP != 0 && uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) {
 70630  			return libc.BoolInt32(!(negated != 0))
 70631  		} // char found
 70632  	}
 70633  
 70634  	// First skip the bit map if present. Then match against the list of Unicode
 70635  	// properties or large chars or ranges that end with a large char. We won't ever
 70636  	// encounter XCL_PROP or XCL_NOTPROP when UTF support is not compiled.
 70637  
 70638  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&DXCL_MAP != 0 {
 70639  		data += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 70640  	}
 70641  
 70642  	for int32(libc.AssignUint8(&t, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))) != DXCL_END {
 70643  		var x Tuint32_t
 70644  		var y Tuint32_t
 70645  		if int32(t) == DXCL_SINGLE {
 70646  			if utf != 0 {
 70647  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70648  				if x >= 0xc0 {
 70649  					if x&0x20 == Tuint32_t(0) {
 70650  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70651  					} else if x&0x10 == Tuint32_t(0) {
 70652  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70653  						data += uintptr(2)
 70654  					} else if x&0x08 == Tuint32_t(0) {
 70655  						x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70656  						data += uintptr(3)
 70657  					} else if x&0x04 == Tuint32_t(0) {
 70658  						x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70659  						data += uintptr(4)
 70660  					} else {
 70661  						x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70662  						data += uintptr(5)
 70663  					}
 70664  				}
 70665  
 70666  				// macro generates multiple statements
 70667  			} else {
 70668  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70669  			}
 70670  			if c == x {
 70671  				return libc.BoolInt32(!(negated != 0))
 70672  			}
 70673  		} else if int32(t) == DXCL_RANGE {
 70674  			if utf != 0 {
 70675  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70676  				if x >= 0xc0 {
 70677  					if x&0x20 == Tuint32_t(0) {
 70678  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70679  					} else if x&0x10 == Tuint32_t(0) {
 70680  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70681  						data += uintptr(2)
 70682  					} else if x&0x08 == Tuint32_t(0) {
 70683  						x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70684  						data += uintptr(3)
 70685  					} else if x&0x04 == Tuint32_t(0) {
 70686  						x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70687  						data += uintptr(4)
 70688  					} else {
 70689  						x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70690  						data += uintptr(5)
 70691  					}
 70692  				}
 70693  
 70694  				// macro generates multiple statements
 70695  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70696  				if y >= 0xc0 {
 70697  					if y&0x20 == Tuint32_t(0) {
 70698  						y = y&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70699  					} else if y&0x10 == Tuint32_t(0) {
 70700  						y = y&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70701  						data += uintptr(2)
 70702  					} else if y&0x08 == Tuint32_t(0) {
 70703  						y = y&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70704  						data += uintptr(3)
 70705  					} else if y&0x04 == Tuint32_t(0) {
 70706  						y = y&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70707  						data += uintptr(4)
 70708  					} else {
 70709  						y = y&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70710  						data += uintptr(5)
 70711  					}
 70712  				}
 70713  
 70714  				// macro generates multiple statements
 70715  			} else {
 70716  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70717  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70718  			}
 70719  			if c >= x && c <= y {
 70720  				return libc.BoolInt32(!(negated != 0))
 70721  			}
 70722  		} else {
 70723  			var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 70724  			var isprop TBOOL = libc.Bool32(int32(t) == DXCL_PROP)
 70725  			var ok TBOOL
 70726  
 70727  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data))) {
 70728  			case DPT_ANY:
 70729  				if isprop != 0 {
 70730  					return libc.BoolInt32(!(negated != 0))
 70731  				}
 70732  				break
 70733  				fallthrough
 70734  
 70735  			case DPT_LAMP:
 70736  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == isprop {
 70737  					return libc.BoolInt32(!(negated != 0))
 70738  				}
 70739  				break
 70740  				fallthrough
 70741  
 70742  			case DPT_GC:
 70743  				if libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == isprop {
 70744  					return libc.BoolInt32(!(negated != 0))
 70745  				}
 70746  				break
 70747  				fallthrough
 70748  
 70749  			case DPT_PC:
 70750  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == isprop {
 70751  					return libc.BoolInt32(!(negated != 0))
 70752  				}
 70753  				break
 70754  				fallthrough
 70755  
 70756  			case DPT_SC:
 70757  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == isprop {
 70758  					return libc.BoolInt32(!(negated != 0))
 70759  				}
 70760  				break
 70761  				fallthrough
 70762  
 70763  			case DPT_SCX:
 70764  				ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0))
 70765  				if ok == isprop {
 70766  					return libc.BoolInt32(!(negated != 0))
 70767  				}
 70768  				break
 70769  				fallthrough
 70770  
 70771  			case DPT_ALNUM:
 70772  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == isprop {
 70773  					return libc.BoolInt32(!(negated != 0))
 70774  				}
 70775  				break
 70776  				fallthrough
 70777  
 70778  			// Perl space used to exclude VT, but from Perl 5.18 it is included,
 70779  			//       which means that Perl space and POSIX space are now identical. PCRE
 70780  			//       was changed at release 8.34.
 70781  
 70782  			case DPT_SPACE:
 70783  				fallthrough // Perl space
 70784  			case DPT_PXSPACE: // POSIX space
 70785  				switch c {
 70786  				case Tuint32_t('\011'):
 70787  					fallthrough
 70788  				case Tuint32_t('\040'):
 70789  					fallthrough
 70790  				case libc.Uint32FromUint8(libc.Uint8FromInt32(160)):
 70791  					fallthrough
 70792  				case Tuint32_t(0x1680):
 70793  					fallthrough /* OGHAM SPACE MARK */
 70794  				case Tuint32_t(0x180e):
 70795  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
 70796  				case Tuint32_t(0x2000):
 70797  					fallthrough /* EN QUAD */
 70798  				case Tuint32_t(0x2001):
 70799  					fallthrough /* EM QUAD */
 70800  				case Tuint32_t(0x2002):
 70801  					fallthrough /* EN SPACE */
 70802  				case Tuint32_t(0x2003):
 70803  					fallthrough /* EM SPACE */
 70804  				case Tuint32_t(0x2004):
 70805  					fallthrough /* THREE-PER-EM SPACE */
 70806  				case Tuint32_t(0x2005):
 70807  					fallthrough /* FOUR-PER-EM SPACE */
 70808  				case Tuint32_t(0x2006):
 70809  					fallthrough /* SIX-PER-EM SPACE */
 70810  				case Tuint32_t(0x2007):
 70811  					fallthrough /* FIGURE SPACE */
 70812  				case Tuint32_t(0x2008):
 70813  					fallthrough /* PUNCTUATION SPACE */
 70814  				case Tuint32_t(0x2009):
 70815  					fallthrough /* THIN SPACE */
 70816  				case Tuint32_t(0x200A):
 70817  					fallthrough /* HAIR SPACE */
 70818  				case Tuint32_t(0x202f):
 70819  					fallthrough /* NARROW NO-BREAK SPACE */
 70820  				case Tuint32_t(0x205f):
 70821  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
 70822  				case Tuint32_t(0x3000):
 70823  					fallthrough
 70824  				case Tuint32_t('\012'):
 70825  					fallthrough
 70826  				case Tuint32_t('\013'):
 70827  					fallthrough
 70828  				case Tuint32_t('\014'):
 70829  					fallthrough
 70830  				case Tuint32_t('\015'):
 70831  					fallthrough
 70832  				case libc.Uint32FromUint8(libc.Uint8FromInt32(133)):
 70833  					fallthrough
 70834  				case Tuint32_t(0x2028):
 70835  					fallthrough /* LINE SEPARATOR */
 70836  				case Tuint32_t(0x2029):
 70837  					if isprop != 0 {
 70838  						return libc.BoolInt32(!(negated != 0))
 70839  					}
 70840  					break
 70841  					fallthrough
 70842  
 70843  				default:
 70844  					if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == isprop {
 70845  						return libc.BoolInt32(!(negated != 0))
 70846  					}
 70847  					break
 70848  				}
 70849  				break
 70850  				fallthrough
 70851  
 70852  			case DPT_WORD:
 70853  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) ==
 70854  					isprop {
 70855  					return libc.BoolInt32(!(negated != 0))
 70856  				}
 70857  				break
 70858  				fallthrough
 70859  
 70860  			case DPT_UCNC:
 70861  				if c < Tuint32_t(0xa0) {
 70862  					if libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140')) == isprop {
 70863  						return libc.BoolInt32(!(negated != 0))
 70864  					}
 70865  				} else {
 70866  					if libc.Bool32(c < Tuint32_t(0xd800) || c > Tuint32_t(0xdfff)) == isprop {
 70867  						return libc.BoolInt32(!(negated != 0))
 70868  					}
 70869  				}
 70870  				break
 70871  				fallthrough
 70872  
 70873  			case DPT_BIDICL:
 70874  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))) == isprop {
 70875  					return libc.BoolInt32(!(negated != 0))
 70876  				}
 70877  				break
 70878  				fallthrough
 70879  
 70880  			case DPT_BOOL:
 70881  				ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0))
 70882  				if ok == isprop {
 70883  					return libc.BoolInt32(!(negated != 0))
 70884  				}
 70885  				break
 70886  				fallthrough
 70887  
 70888  			// The following three properties can occur only in an XCLASS, as there
 70889  			//       is no \p or \P coding for them.
 70890  
 70891  			// Graphic character. Implement this as not Z (space or separator) and
 70892  			//       not C (other), except for Cf (format) with a few exceptions. This seems
 70893  			//       to be what Perl does. The exceptional characters are:
 70894  			//
 70895  			//       U+061C           Arabic Letter Mark
 70896  			//       U+180E           Mongolian Vowel Separator
 70897  			//       U+2066 - U+2069  Various "isolate"s
 70898  			//
 70899  
 70900  			case DPT_PXGRAPH:
 70901  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_Z && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && c != Tuint32_t(0x180e) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop {
 70902  					return libc.BoolInt32(!(negated != 0))
 70903  				}
 70904  				break
 70905  				fallthrough
 70906  
 70907  			// Printable character: same as graphic, with the addition of Zs, i.e.
 70908  			//       not Zl and not Zp, and U+180E.
 70909  
 70910  			case DPT_PXPRINT:
 70911  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zl && int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zp && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop {
 70912  					return libc.BoolInt32(!(negated != 0))
 70913  				}
 70914  				break
 70915  				fallthrough
 70916  
 70917  			// Punctuation: all Unicode punctuation, plus ASCII characters that
 70918  			//       Unicode treats as symbols rather than punctuation, for Perl
 70919  			//       compatibility (these are $+<=>^`|~).
 70920  
 70921  			case DPT_PXPUNCT:
 70922  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_P || c < Tuint32_t(128) && X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_S) == isprop {
 70923  					return libc.BoolInt32(!(negated != 0))
 70924  				}
 70925  				break
 70926  				fallthrough
 70927  
 70928  			// This should never occur, but compilers may mutter if there is no
 70929  			//       default.
 70930  
 70931  			default:
 70932  				return DFALSE
 70933  			}
 70934  
 70935  			data += uintptr(2)
 70936  		}
 70937  	}
 70938  
 70939  	return negated // char did not match
 70940  }
 70941  
 70942  // End of pcre2_xclass.c
 70943  
 70944  func init() {
 70945  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc                  // pcre2_context.c:134:5:
 70946  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free                            // pcre2_context.c:134:21:
 70947  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70948  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc                  // pcre2_context.c:134:5:
 70949  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free                            // pcre2_context.c:134:21:
 70950  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70951  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc                  // pcre2_context.c:198:5:
 70952  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free                            // pcre2_context.c:198:21:
 70953  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc                  // pcre2_context.c:198:5:
 70954  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free                            // pcre2_context.c:198:21:
 70955  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc                    // pcre2_context.c:164:5:
 70956  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free                              // pcre2_context.c:164:21:
 70957  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc                    // pcre2_context.c:164:5:
 70958  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free                              // pcre2_context.c:164:21:
 70959  }
 70960  
 70961  var ts1 = "\x00MARK\x00ACCEPT\x00F\x00FAIL\x00COMMIT\x00PRUNE\x00SKIP\x00THEN\x00pla\x00plb\x00napla\x00naplb\x00nla\x00nlb\x00positive_lookahead\x00positive_lookbehind\x00non_atomic_positive_lookahead\x00non_atomic_positive_lookbehind\x00negative_lookahead\x00negative_lookbehind\x00atomic\x00sr\x00asr\x00script_run\x00atomic_script_run\x00alpha\x00lower\x00upper\x00alnum\x00ascii\x00blank\x00cntrl\x00digit\x00graph\x00print\x00punct\x00space\x00word\x00xdigit\x00UTF8)\x00UTF)\x00UCP)\x00NOTEMPTY)\x00NOTEMPTY_ATSTART)\x00NO_AUTO_POSSESS)\x00NO_DOTSTAR_ANCHOR)\x00NO_JIT)\x00NO_START_OPT)\x00LIMIT_HEAP=\x00LIMIT_MATCH=\x00LIMIT_DEPTH=\x00LIMIT_RECURSION=\x00CR)\x00LF)\x00CRLF)\x00ANY)\x00NUL)\x00ANYCRLF)\x00BSR_ANYCRLF)\x00BSR_UNICODE)\x00bidiclass\x00bc\x00script\x00sc\x00scriptextensions\x00scx\x00[:<:]]\x00[:>:]]\x00Q\\E\x00VERSION\x00DEFINE\x00Z\x0010.40 2022-04-14\x0010.402022-04-14\x00\\?*+|.^${}[]()\x00(){}123456789\x00(*NUL)\x00]\x00:]\x00\\\x00[\x00^\x00alnum:alpha:ascii:blank:cntrl:digit:graph:lower:print:punct:space:upper:word:xdigit:\x00\x00no error\x00\\ at end of pattern\x00\\c at end of pattern\x00unrecognized character follows \\\x00numbers out of order in {} quantifier\x00number too big in {} quantifier\x00missing terminating ] for character class\x00escape sequence is invalid in character class\x00range out of order in character class\x00quantifier does not follow a repeatable item\x00internal error: unexpected repeat\x00unrecognized character after (? or (?-\x00POSIX named classes are supported only within a class\x00POSIX collating elements are not supported\x00missing closing parenthesis\x00reference to non-existent subpattern\x00pattern passed as NULL\x00unrecognised compile-time option bit(s)\x00missing ) after (?# comment\x00parentheses are too deeply nested\x00regular expression is too large\x00failed to allocate heap memory\x00unmatched closing parenthesis\x00internal error: code overflow\x00missing closing parenthesis for condition\x00lookbehind assertion is not fixed length\x00a relative value of zero is not allowed\x00conditional subpattern contains more than two branches\x00assertion expected after (?( or (?(?C)\x00digit expected after (?+ or (?-\x00unknown POSIX class name\x00internal error in pcre2_study(): should not occur\x00this version of PCRE2 does not have Unicode support\x00parentheses are too deeply nested (stack check)\x00character code point value in \\x{} or \\o{} is too large\x00lookbehind is too complicated\x00\\C is not allowed in a lookbehind assertion in UTF-8 mode\x00PCRE2 does not support \\F, \\L, \\l, \\N{name}, \\U, or \\u\x00number after (?C is greater than 255\x00closing parenthesis for (?C expected\x00invalid escape sequence in (*VERB) name\x00unrecognized character after (?P\x00syntax error in subpattern name (missing terminator?)\x00two named subpatterns have the same name (PCRE2_DUPNAMES not set)\x00subpattern name must start with a non-digit\x00this version of PCRE2 does not have support for \\P, \\p, or \\X\x00malformed \\P or \\p sequence\x00unknown property after \\P or \\p\x00subpattern name is too long (maximum 32 code units)\x00too many named subpatterns (maximum 10000)\x00invalid range in character class\x00octal value is greater than \\377 in 8-bit non-UTF-8 mode\x00internal error: overran compiling workspace\x00internal error: previously-checked referenced subpattern not found\x00DEFINE subpattern contains more than one branch\x00missing opening brace after \\o\x00internal error: unknown newline setting\x00\\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number\x00(?R (recursive pattern call) must be followed by a closing parenthesis\x00obsolete error (should not occur)\x00(*VERB) not recognized or malformed\x00subpattern number is too big\x00subpattern name expected\x00internal error: parsed pattern overflow\x00non-octal character in \\o{} (closing brace missing?)\x00different names for subpatterns of the same number are not allowed\x00(*MARK) must have an argument\x00non-hex character in \\x{} (closing brace missing?)\x00\\c must be followed by a printable ASCII character\x00\\k is not followed by a braced, angle-bracketed, or quoted name\x00internal error: unknown meta code in check_lookbehinds()\x00\\N is not supported in a class\x00callout string is too long\x00disallowed Unicode code point (>= 0xd800 && <= 0xdfff)\x00using UTF is disabled by the application\x00using UCP is disabled by the application\x00name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)\x00character code point value in \\u.... sequence is too large\x00digits missing in \\x{} or \\o{} or \\N{U+}\x00syntax error or number too big in (?(VERSION condition\x00internal error: unknown opcode in auto_possessify()\x00missing terminating delimiter for callout with string argument\x00unrecognized string delimiter follows (?C\x00using \\C is disabled by the application\x00(?| and/or (?J: or (?x: parentheses are too deeply nested\x00using \\C is disabled in this PCRE2 library\x00regular expression is too complicated\x00lookbehind assertion is too long\x00pattern string is longer than the limit set by the application\x00internal error: unknown code in parsed pattern\x00internal error: bad code value in parsed_skip()\x00PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not allowed in UTF-16 mode\x00invalid option bits with PCRE2_LITERAL\x00\\N{U+dddd} is supported only in Unicode (UTF) mode\x00invalid hyphen in option setting\x00(*alpha_assertion) not recognized\x00script runs require Unicode support, which this version of PCRE2 does not have\x00too many capturing groups (maximum 65535)\x00atomic assertion expected after (?( or (?(?C)\x00\\K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK)\x00\x00no error\x00no match\x00partial match\x00UTF-8 error: 1 byte missing at end\x00UTF-8 error: 2 bytes missing at end\x00UTF-8 error: 3 bytes missing at end\x00UTF-8 error: 4 bytes missing at end\x00UTF-8 error: 5 bytes missing at end\x00UTF-8 error: byte 2 top bits not 0x80\x00UTF-8 error: byte 3 top bits not 0x80\x00UTF-8 error: byte 4 top bits not 0x80\x00UTF-8 error: byte 5 top bits not 0x80\x00UTF-8 error: byte 6 top bits not 0x80\x00UTF-8 error: 5-byte character is not allowed (RFC 3629)\x00UTF-8 error: 6-byte character is not allowed (RFC 3629)\x00UTF-8 error: code points greater than 0x10ffff are not defined\x00UTF-8 error: code points 0xd800-0xdfff are not defined\x00UTF-8 error: overlong 2-byte sequence\x00UTF-8 error: overlong 3-byte sequence\x00UTF-8 error: overlong 4-byte sequence\x00UTF-8 error: overlong 5-byte sequence\x00UTF-8 error: overlong 6-byte sequence\x00UTF-8 error: isolated byte with 0x80 bit set\x00UTF-8 error: illegal byte (0xfe or 0xff)\x00UTF-16 error: missing low surrogate at end\x00UTF-16 error: invalid low surrogate\x00UTF-16 error: isolated low surrogate\x00UTF-32 error: code points 0xd800-0xdfff are not defined\x00UTF-32 error: code points greater than 0x10ffff are not defined\x00bad data value\x00patterns do not all use the same character tables\x00magic number missing\x00pattern compiled in wrong mode: 8/16/32-bit error\x00bad offset value\x00bad option value\x00invalid replacement string\x00bad offset into UTF string\x00callout error code\x00invalid data in workspace for DFA restart\x00too much recursion for DFA matching\x00backreference condition or recursion test is not supported for DFA matching\x00function is not supported for DFA matching\x00pattern contains an item that is not supported for DFA matching\x00workspace size exceeded in DFA matching\x00internal error - pattern overwritten?\x00bad JIT option\x00JIT stack limit reached\x00match limit exceeded\x00no more memory\x00unknown substring\x00non-unique substring name\x00NULL argument passed with non-zero length\x00nested recursion at the same subject position\x00matching depth limit exceeded\x00requested value is not available\x00requested value is not set\x00offset limit set without PCRE2_USE_OFFSET_LIMIT\x00bad escape sequence in replacement string\x00expected closing curly bracket in replacement string\x00bad substitution in replacement string\x00match with end before start or start moved backwards is not supported\x00too many replacements (more than INT_MAX)\x00bad serialized data\x00heap limit exceeded\x00invalid syntax\x00internal error - duplicate substitution match\x00PCRE2_MATCH_INVALID_UTF is not supported for DFA matching\x00\x00\x00\x00JIT is not supported\x00MARK\x00adlam\x00adlm\x00aghb\x00ahex\x00ahom\x00alpha\x00alphabetic\x00anatolianhieroglyphs\x00any\x00arab\x00arabic\x00armenian\x00armi\x00armn\x00ascii\x00asciihexdigit\x00avestan\x00avst\x00bali\x00balinese\x00bamu\x00bamum\x00bass\x00bassavah\x00batak\x00batk\x00beng\x00bengali\x00bhaiksuki\x00bhks\x00bidial\x00bidian\x00bidib\x00bidibn\x00bidic\x00bidicontrol\x00bidics\x00bidien\x00bidies\x00bidiet\x00bidifsi\x00bidil\x00bidilre\x00bidilri\x00bidilro\x00bidim\x00bidimirrored\x00bidinsm\x00bidion\x00bidipdf\x00bidipdi\x00bidir\x00bidirle\x00bidirli\x00bidirlo\x00bidis\x00bidiws\x00bopo\x00bopomofo\x00brah\x00brahmi\x00brai\x00braille\x00bugi\x00buginese\x00buhd\x00buhid\x00c\x00cakm\x00canadianaboriginal\x00cans\x00cari\x00carian\x00cased\x00caseignorable\x00caucasianalbanian\x00cc\x00cf\x00chakma\x00cham\x00changeswhencasefolded\x00changeswhencasemapped\x00changeswhenlowercased\x00changeswhentitlecased\x00changeswhenuppercased\x00cher\x00cherokee\x00chorasmian\x00chrs\x00ci\x00cn\x00co\x00common\x00copt\x00coptic\x00cpmn\x00cprt\x00cs\x00cuneiform\x00cwcf\x00cwcm\x00cwl\x00cwt\x00cwu\x00cypriot\x00cyprominoan\x00cyrillic\x00cyrl\x00dash\x00defaultignorablecodepoint\x00dep\x00deprecated\x00deseret\x00deva\x00devanagari\x00di\x00dia\x00diacritic\x00diak\x00divesakuru\x00dogr\x00dogra\x00dsrt\x00dupl\x00duployan\x00ebase\x00ecomp\x00egyp\x00egyptianhieroglyphs\x00elba\x00elbasan\x00elym\x00elymaic\x00emod\x00emoji\x00emojicomponent\x00emojimodifier\x00emojimodifierbase\x00emojipresentation\x00epres\x00ethi\x00ethiopic\x00ext\x00extendedpictographic\x00extender\x00extpict\x00geor\x00georgian\x00glag\x00glagolitic\x00gong\x00gonm\x00goth\x00gothic\x00gran\x00grantha\x00graphemebase\x00graphemeextend\x00graphemelink\x00grbase\x00greek\x00grek\x00grext\x00grlink\x00gujarati\x00gujr\x00gunjalagondi\x00gurmukhi\x00guru\x00han\x00hang\x00hangul\x00hani\x00hanifirohingya\x00hano\x00hanunoo\x00hatr\x00hatran\x00hebr\x00hebrew\x00hex\x00hexdigit\x00hira\x00hiragana\x00hluw\x00hmng\x00hmnp\x00hung\x00idc\x00idcontinue\x00ideo\x00ideographic\x00ids\x00idsb\x00idsbinaryoperator\x00idst\x00idstart\x00idstrinaryoperator\x00imperialaramaic\x00inherited\x00inscriptionalpahlavi\x00inscriptionalparthian\x00ital\x00java\x00javanese\x00joinc\x00joincontrol\x00kaithi\x00kali\x00kana\x00kannada\x00katakana\x00kayahli\x00khar\x00kharoshthi\x00khitansmallscript\x00khmer\x00khmr\x00khoj\x00khojki\x00khudawadi\x00kits\x00knda\x00kthi\x00l\x00l&\x00lana\x00lao\x00laoo\x00latin\x00latn\x00lc\x00lepc\x00lepcha\x00limb\x00limbu\x00lina\x00linb\x00lineara\x00linearb\x00lisu\x00ll\x00lm\x00lo\x00loe\x00logicalorderexception\x00lower\x00lowercase\x00lt\x00lu\x00lyci\x00lycian\x00lydi\x00lydian\x00m\x00mahajani\x00mahj\x00maka\x00makasar\x00malayalam\x00mand\x00mandaic\x00mani\x00manichaean\x00marc\x00marchen\x00masaramgondi\x00math\x00mc\x00me\x00medefaidrin\x00medf\x00meeteimayek\x00mend\x00mendekikakui\x00merc\x00mero\x00meroiticcursive\x00meroitichieroglyphs\x00miao\x00mlym\x00mn\x00modi\x00mong\x00mongolian\x00mro\x00mroo\x00mtei\x00mult\x00multani\x00myanmar\x00mymr\x00n\x00nabataean\x00nand\x00nandinagari\x00narb\x00nbat\x00nchar\x00nd\x00newa\x00newtailue\x00nko\x00nkoo\x00nl\x00no\x00noncharactercodepoint\x00nshu\x00nushu\x00nyiakengpuachuehmong\x00ogam\x00ogham\x00olchiki\x00olck\x00oldhungarian\x00olditalic\x00oldnortharabian\x00oldpermic\x00oldpersian\x00oldsogdian\x00oldsoutharabian\x00oldturkic\x00olduyghur\x00oriya\x00orkh\x00orya\x00osage\x00osge\x00osma\x00osmanya\x00ougr\x00p\x00pahawhhmong\x00palm\x00palmyrene\x00patsyn\x00patternsyntax\x00patternwhitespace\x00patws\x00pauc\x00paucinhau\x00pc\x00pcm\x00pd\x00pe\x00perm\x00pf\x00phag\x00phagspa\x00phli\x00phlp\x00phnx\x00phoenician\x00pi\x00plrd\x00po\x00prependedconcatenationmark\x00prti\x00ps\x00psalterpahlavi\x00qaac\x00qaai\x00qmark\x00quotationmark\x00radical\x00regionalindicator\x00rejang\x00ri\x00rjng\x00rohg\x00runic\x00runr\x00s\x00samaritan\x00samr\x00sarb\x00saur\x00saurashtra\x00sc\x00sd\x00sentenceterminal\x00sgnw\x00sharada\x00shavian\x00shaw\x00shrd\x00sidd\x00siddham\x00signwriting\x00sind\x00sinh\x00sinhala\x00sk\x00sm\x00so\x00softdotted\x00sogd\x00sogdian\x00sogo\x00sora\x00sorasompeng\x00soyo\x00soyombo\x00space\x00sterm\x00sund\x00sundanese\x00sylo\x00sylotinagri\x00syrc\x00syriac\x00tagalog\x00tagb\x00tagbanwa\x00taile\x00taitham\x00taiviet\x00takr\x00takri\x00tale\x00talu\x00tamil\x00taml\x00tang\x00tangsa\x00tangut\x00tavt\x00telu\x00telugu\x00term\x00terminalpunctuation\x00tfng\x00tglg\x00thaa\x00thaana\x00thai\x00tibetan\x00tibt\x00tifinagh\x00tirh\x00tirhuta\x00tnsa\x00toto\x00ugar\x00ugaritic\x00uideo\x00unifiedideograph\x00unknown\x00upper\x00uppercase\x00vai\x00vaii\x00variationselector\x00vith\x00vithkuqi\x00vs\x00wancho\x00wara\x00warangciti\x00wcho\x00whitespace\x00wspace\x00xan\x00xidc\x00xidcontinue\x00xids\x00xidstart\x00xpeo\x00xps\x00xsp\x00xsux\x00xuc\x00xwd\x00yezi\x00yezidi\x00yi\x00yiii\x00z\x00zanabazarsquare\x00zanb\x00zinh\x00zl\x00zp\x00zs\x00zyyy\x00zzzz\x00\x0014.0.0\x00"
 70962  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data